Step-By-Step Directions From a Binary Tree Node to Another - Problem
You are given the root of a binary tree with n nodes. Each node is uniquely assigned a value from 1 to n. You are also given an integer startValue representing the value of the start node s, and a different integer destValue representing the value of the destination node t.
Find the shortest path starting from node s and ending at node t. Generate step-by-step directions of such path as a string consisting of only the uppercase letters 'L', 'R', and 'U'. Each letter indicates a specific direction:
'L'means to go from a node to its left child node.'R'means to go from a node to its right child node.'U'means to go from a node to its parent node.
Return the step-by-step directions of the shortest path from node s to node t.
Input & Output
Example 1 — Basic Tree Navigation
$
Input:
root = [5,1,2,3,null,6,4], startValue = 3, destValue = 6
›
Output:
UUUL
💡 Note:
Start at node 3, go up twice to reach node 5 (root), then down left to node 1, then down right to reach node 6. Path: 3→1→5→1→6 gives directions UUUL.
Example 2 — Sibling Nodes
$
Input:
root = [2,1,3], startValue = 3, destValue = 1
›
Output:
UL
💡 Note:
Start at node 3 (right child), go up to root node 2, then left to node 1. Simple sibling traversal: 3→2→1 gives UL.
Example 3 — Same Subtree
$
Input:
root = [5,1,2,3,null,6,4], startValue = 3, destValue = 4
›
Output:
UURR
💡 Note:
From node 3 to node 4: go up to node 1, then up to root 5, then right to node 2, then right to node 4. Path gives UURR.
Constraints
- The number of nodes in the tree is n.
- 2 ≤ n ≤ 105
- 1 ≤ Node.val ≤ n
- All values in the tree are unique.
- startValue ≠ destValue
Visualization
Tap to expand
Understanding the Visualization
1
Input Tree
Binary tree with unique node values and two target nodes
2
Find Paths
Use DFS to locate paths from root to both start and destination nodes
3
Build Directions
Create string of L/R/U moves representing the shortest path
Key Takeaway
🎯 Key Insight: The shortest path always goes through the lowest common ancestor of the two nodes
💡
Explanation
AI Ready
💡 Suggestion
Tab
to accept
Esc
to dismiss
// Output will appear here after running code