116 填充每個節點的下乙個右側節點指標

2021-10-19 11:43:53 字數 948 閱讀 9514

給定乙個 完美二叉樹 ,其所有葉子節點都在同一層,每個父節點都有兩個子節點。二叉樹定義如下:

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的...