Shortest Path Between BST Nodes
Problem statement
You are given the root of a binary search tree with distinct integer values and two target values, first and second. Return the number of edges on the unique shortest path between their nodes.
If either target value does not occur in the tree, return -1. If first == second and that value exists, return 0.
Use the binary-search-tree ordering to locate where the two search paths split, then measure the distance from that split node to each target.
Examples
Example 1
root = [6,2,8,0,4,7,9,null,null,3,5]first = 2second = 8return = 2The shortest path is 2 -> 6 -> 8, which contains two edges.
Unlock this recently reported problem
FastPrep Pro gives you full access to interview problems reported within the last week.
- Full problem statement and constraints
- 2 more worked examples, explained
- Guided hints and editorial
- Run your code on real test cases
$99 billed yearly — or $19 month-to-month. Cancel anytime.