[leetcode] 117 填充每个节点的下一个右侧节点指针
生活随笔
收集整理的這篇文章主要介紹了
[leetcode] 117 填充每个节点的下一个右侧节点指针
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個?完美二叉樹?,其所有葉子節點都在同一層,每個父節點都有兩個子節點。二叉樹定義如下:
struct Node {
? int val;
? Node *left;
? Node *right;
? Node *next;
}
填充它的每個 next 指針,讓這個指針指向其下一個右側節點。如果找不到下一個右側節點,則將 next 指針設置為 NULL。
初始狀態下,所有?next 指針都被設置為 NULL。
進階:
- 你只能使用常量級額外空間。
- 使用遞歸解題也符合要求,本題中遞歸程序占用的棧空間不算做額外的空間復雜度。
示例:
?
?
輸入:root = [1,2,3,4,5,6,7]
輸出:[1,#,2,3,#,4,5,6,7,#]
解釋:給定二叉樹如圖 A 所示,你的函數應該填充它的每個 next 指針,以指向其下一個右側節點,如圖 B 所示。序列化的輸出按層序遍歷排列,同一層節點由 next 指針連接,'#' 標志著每一層的結束。
提示:
- 樹中節點的數量少于?4096
- -1000 <= node.val <= 1000
總結
以上是生活随笔為你收集整理的[leetcode] 117 填充每个节点的下一个右侧节点指针的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [leetcode] 103.二叉树的锯
- 下一篇: [leetcode] 230.二叉搜索树