二叉搜索树 - LeetCode 700.二叉搜索树中的搜索

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

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

image.png
class Solution {
    public TreeNode searchBST(TreeNode root, int val) {
        if(root == null) {
            return root;
        }
        while(root != null) {
            if(root.val == val) {
                return root;
            }
            if(root.val < val){ 
                root = root.right;
            } else {
                root = root.left;
            }
        }
        return null;
    }
}
  • 时间复杂度:O(N),其中 N 是二叉搜索树的节点数。最坏情况下二叉搜索树是一条链,且要找的元素比链末尾的元素值还要小(大),这种情况下我们需要迭代 N 次。
  • 空间复杂度:O(1),没有使用额外的空间。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容