FastPrepShortest Path Between BST Nodes

Shortest Path Between BST Nodes

Google logoGoogle● MediumINTERNONSITE INTERVIEW

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.

The problem statement continues
Pro

Examples

Example 1

root = [6,2,8,0,4,7,9,null,null,3,5]first = 2second = 8return = 2

The shortest path is 2 -> 6 -> 8, which contains two edges.

FastPrep Pro
Reported in 1 Google interview this week

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
$8.25/month

$99 billed yearly — or $19 month-to-month. Cancel anytime.

Free plan — 2 of 2 free unlocks used this week
See Google hiring insights
CodePython 3
Run and Submit unlock with Pro
FastPrep Pro
Reported in 1 Google interview this week

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
$8.25/month

$99 billed yearly — or $19 month-to-month. Cancel anytime.

Free plan — 2 of 2 free unlocks used this week