Inorder Predecessor in BST

 avatar
unknown
java
3 years ago
470 B
5
Indexable
public class Solution {
    TreeNode predecessor = null;

    public TreeNode inorderPredecessor(TreeNode root, TreeNode p) {
        helper(root, p);
        return predecessor;
    }

    void helper(TreeNode root, TreeNode p) {
        if (root == null || p == null) {
            return;
        }

        if (root.val < p.val) {
            predecessor = root;
            helper(root.right, p);
        } else {
            helper(root.left, p);
        }
    }
}
Editor is loading...