目 录CONTENT

文章目录

Leetcode 700.二叉搜索树中的搜索

小王同学
2024-03-13 / 0 评论 / 0 点赞 / 31 阅读 / 0 字

Leetcode 700.二叉搜索树中的搜索

力扣传送门(opens new window)

给定二叉搜索树(BST)的根节点 root 和一个整数值 val

你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null

示例 1:

输入:root = [4,2,7,1,3], val = 2
输出:[2,1,3]

示例 2:

输入:root = [4,2,7,1,3], val = 5
输出:[]

解题思路:

左子树所有节点的元素值均小于根的元素值;
右子树所有节点的元素值均大于根的元素值。
据此可以得到如下算法:

若 root为空则返回空节点;
若 val=root.val,则返回 root;
若 val<root.val,递归左子树;
若 val>root.val,递归右子树。

代码实现:

class Solution {
    public TreeNode searchBST(TreeNode root, int val) {
        if(root == null || root.val == val){
        	return root;
        }
        if(val < root.val){
            return searchBST(root.left,val);
        }else{
            return searchBST(root.right,val);
        }
    }
}
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区