java.lang.Object
g2001_2100.s2096_step_by_step_directions_from_a_binary_tree_node_to_another.Solution

public class Solution extends Object
2096 - Step-By-Step Directions From a Binary Tree Node to Another.<p>Medium</p> <p>You are given the <code>root</code> of a <strong>binary tree</strong> with <code>n</code> nodes. Each node is uniquely assigned a value from <code>1</code> to <code>n</code>. You are also given an integer <code>startValue</code> representing the value of the start node <code>s</code>, and a different integer <code>destValue</code> representing the value of the destination node <code>t</code>.</p> <p>Find the <strong>shortest path</strong> starting from node <code>s</code> and ending at node <code>t</code>. Generate step-by-step directions of such path as a string consisting of only the <strong>uppercase</strong> letters <code>'L'</code>, <code>'R'</code>, and <code>'U'</code>. Each letter indicates a specific direction:</p> <ul> <li><code>'L'</code> means to go from a node to its <strong>left child</strong> node.</li> <li><code>'R'</code> means to go from a node to its <strong>right child</strong> node.</li> <li><code>'U'</code> means to go from a node to its <strong>parent</strong> node.</li> </ul> <p>Return <em>the step-by-step directions of the <strong>shortest path</strong> from node</em> <code>s</code> <em>to node</em> <code>t</code>.</p> <p><strong>Example 1:</strong></p> <p><img src="https://assets.leetcode.com/uploads/2021/11/15/eg1.png" alt="" /></p> <p><strong>Input:</strong> root = [5,1,2,3,null,6,4], startValue = 3, destValue = 6</p> <p><strong>Output:</strong> &ldquo;UURL&rdquo;</p> <p><strong>Explanation:</strong> The shortest path is: 3 \u2192 1 \u2192 5 \u2192 2 \u2192 6.</p> <p><strong>Example 2:</strong></p> <p><img src="https://assets.leetcode.com/uploads/2021/11/15/eg2.png" alt="" /></p> <p><strong>Input:</strong> root = [2,1], startValue = 2, destValue = 1</p> <p><strong>Output:</strong> &ldquo;L&rdquo;</p> <p><strong>Explanation:</strong> The shortest path is: 2 \u2192 1.</p> <p><strong>Constraints:</strong></p> <ul> <li>The number of nodes in the tree is <code>n</code>.</li> <li><code>2 <= n <= 10<sup>5</sup></code></li> <li><code>1 <= Node.val <= n</code></li> <li>All the values in the tree are <strong>unique</strong>.</li> <li><code>1 <= startValue, destValue <= n</code></li> <li><code>startValue != destValue</code></li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • getDirections

      public String getDirections(TreeNode root, int startValue, int destValue)