문제
897. 증가하는 주문 검색 트리
코드
class Solution {
Queue nodes = new LinkedList<>();
public TreeNode increasingBST(TreeNode root) {
if(root == null) return root;
recur(root);
TreeNode answer = new TreeNode(0, null, null);
TreeNode temp = answer;
while(!nodes.isEmpty()) {
temp.right = new TreeNode(nodes.poll(), null, null);
temp = temp.right;
}
return answer.right;
}
public void recur(TreeNode root){
if(root == null) return;
recur(root.left);
nodes.add(root.val);
recur(root.right);
}
}
*코드리뷰
2.재귀 함수의 적절한 사용:
*Queue nodes를 사용하여 노드 값을 일단 저장하고, 이 를 다시 순회하면서 새로운 트리를 만드는 방법은 메모리와 시간이 중복으로 사용됩니다.