*해결 과정
void를 통한 함수를 사용하는 것과 TreeNode를 통한 함수를 사용하는 방법 2개가 있다.
class Solution {
TreeNode tree = null;
public TreeNode searchBST(TreeNode root, int val) {
DFS(root,val);
return tree;
}
public void DFS(TreeNode root, int val){
if(root.val==val) {
tree=root;
return;
}
if(root.left!=null) searchBST(root.left,val);
if(root.right!=null) searchBST(root.right,val);
}
}
class Solution {
public TreeNode searchBST(TreeNode root, int val) {
if(root==null) return null;
if(root.val == val) return root;
else if(root.val>val) return searchBST(root.left,val);
else return searchBST(root.right,val);
}
}
return에 대해서 확인한다. TreeNode를 반환한다면 항상 return을 써야한다.
반응형
'Algorithm' 카테고리의 다른 글
559 : Maximum Depth of N-ary Tree ( leetcode / java ) (0) | 2020.10.28 |
---|---|
897 : Increasing Order Search Tree ( leetcode / java ) (0) | 2020.10.28 |
617 : Merge Two Binary Trees ( leetcode / java ) (0) | 2020.10.27 |
3687 : 성냥개비 ( 백준 / java ) (0) | 2020.10.27 |
2579번 : 계단 오르기 ( 백준 / java ) (0) | 2020.10.26 |