본문 바로가기
Algorithm

700 : Search in a Binary Search Tree ( leetcode / java )

코동이 2020. 10. 28.

 

*해결 과정

 

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을 써야한다.

반응형