leetcode700.二叉搜索树中的搜索

利用二叉搜索树的特点即可:

class Solution {
    public TreeNode searchBST(TreeNode root, int val) {
        if(root==null) return null;
        if(root.left == null && root.right == null && root.val != val) return null;
        if(root.val < val) {
            return searchBST(root.right, val);
        }
        else if(root.val > val) {
            return searchBST(root.left, val);
        }
        else return root;
    }
}

然后还可以优化成:

class Solution {
    public TreeNode searchBST(TreeNode root, int val) {
        if(root == null || root.val == val) return root;
        else if(root.val > val) return searchBST(root.left, val);
        else if(root.val < val) return searchBST(root.right, val);
        else return null;
    }
}
posted @ 2022-03-06 14:59  明卿册  阅读(16)  评论(0)    收藏  举报