給定乙個 完美二叉樹 ,其所有葉子節點都在同一層,每個父節點都有兩個子節點。二叉樹定義如下:
struct node
填充它的每個 next 指標,讓這個指標指向其下乙個右側節點。如果找不到下乙個右側節點,則將 next 指標設定為 null。
初始狀態下,所有 next 指標都被設定為 null。
高階:你只能使用常量級額外空間。
使用遞迴解題也符合要求,本題中遞迴程式占用的棧空間不算做額外的空間複雜度。
示例:輸入:root = [1,2,3,4,5,6,7]
輸出:[1,#,2,3,#,4,5,6,7,#]
解釋:給定二叉樹如圖 a 所示,你的函式應該填充它的每個 next 指標,以指向其下乙個右側節點,如圖 b 所示。序列化的輸出按層序遍歷排列,同一層節點由 next 指標連線,』#』 標誌著每一層的結束。
/*
// definition for a node.
class node
public node(int _val)
public node(int _val, node _left, node _right, node _next)
};*/
class
solution
//輔助函式
void
connecttwonode
(node node1,node node2)
//前序遍歷的位置
node1.next = node2;
connecttwonode
(node1.left,node1.right)
;connecttwonode
(node2.left,node2.right)
;connecttwonode
(node1.right,node2.left);}
}
116 填充每個節點的下乙個右側節點指標
給定乙個完美二叉樹,其所有葉子節點都在同一層,每個父節點都有兩個子節點。二叉樹定義如下 struct node 填充它的每個 next 指標,讓這個指標指向其下乙個右側節點。如果找不到下乙個右側節點,則將 next 指標設定為 null。初始狀態下,所有 next 指標都被設定為 null。示例 你...
116 填充每個節點的下乙個右側節點指標
將每個節點與右邊的節點建立next關係,你只能使用常量級額外空間。使用遞迴解題也符合要求,本題中遞迴程式占用的棧空間不算做額外的空間複雜度。兩種方法,bfs和遞迴 方法一 遞迴 class solution def connect self,root def dfs root if not root...
116 填充每個節點的下乙個右側節點指標
給定乙個完美二叉樹,其所有葉子節點都在同一層,每個父節點都有兩個子節點。二叉樹定義如下 struct node 填充它的每個 next 指標,讓這個指標指向其下乙個右側節點。如果找不到下乙個右側節點,則將 next 指標設定為 null。初始狀態下,所有 next 指標都被設定為 null。方法1的...