Search in a Binary Tree

Updated:

목표로 하는 target값과 일치할때, 그때의 TreeNode를 리턴해주면 된다.
TreeNode를 리턴해줘야하기때문에, Recursion을 돌릴때 TreeNode도 추가적으로 같이 Recursion을 돌려줘야 한다.

by Java

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public TreeNode searchBST(TreeNode root, int val) {
        return traverse(root,val);
    }
    private TreeNode traverse(TreeNode root,int target) {
        if(root==null) return null;
        if(root.val == target) return root;
        else if(root.val>target) return traverse(root.left,target);
        else return traverse(root.right,target);
    }  
}

Leave a comment