Search in a Binary Search Tree — BST Property Navigation

Sanjeev SharmaSanjeev Sharma
1 min read

Advertisement

Problem 358 · Search in a Binary Search Tree

Difficulty: Easy · Pattern: BST Navigation

Solutions

# Python — recursive
def searchBST(root, val):
    if not root: return None
    if root.val == val: return root
    return searchBST(root.left if val < root.val else root.right, val)

# Iterative
def searchBST(root, val):
    while root and root.val != val:
        root = root.left if val < root.val else root.right
    return root
// Java
public TreeNode searchBST(TreeNode root, int val) {
    while (root!=null&&root.val!=val)
        root=val<root.val?root.left:root.right;
    return root;
}

Complexity

  • Time: O(h) = O(log n) balanced
  • Space: O(1) iterative

Advertisement

Sanjeev Sharma

Written by

Sanjeev Sharma

Full Stack Engineer · E-mopro