LeetCode 2096. 从二叉树一个节点到另一个节点每一步的方向(最小公共祖先)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 2096. 从二叉树一个节点到另一个节点每一步的方向(最小公共祖先)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
給你一棵 二叉樹 的根節點 root ,這棵二叉樹總共有 n 個節點。
每個節點的值為 1 到 n 中的一個整數,且互不相同。
給你一個整數 startValue ,表示起點節點 s 的值,和另一個不同的整數 destValue ,表示終點節點 t 的值。
請找到從節點 s 到節點 t 的 最短路徑 ,并以字符串的形式返回每一步的方向。
每一步用 大寫 字母 ‘L’ ,‘R’ 和 ‘U’ 分別表示一種方向:
- 'L' 表示從一個節點前往它的 左孩子 節點。
- 'R' 表示從一個節點前往它的 右孩子 節點。
- 'U' 表示從一個節點前往它的 父 節點。
請你返回從 s 到 t 最短路徑 每一步的方向。
示例 1:
示例 2:
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/step-by-step-directions-from-a-binary-tree-node-to-another
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
- 先求解兩個點的最小公共祖先 p
- 然后 dfs1 求解 p 到 start 的步數 x,得到答案有 x 個 U
- 再 dfs2 求解 p 到 end 的路徑,就是答案的 后半部分
164 ms 111.3 MB C++
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode 2096. 从二叉树一个节点到另一个节点每一步的方向(最小公共祖先)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Chapter7-6_Text Styl
- 下一篇: LeetCode 1880. 检查某单词