Skip to content

Commit e206e6c

Browse files
committed
update
1 parent cd15a0c commit e206e6c

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
***给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。***
2+
3+
![algo21](./images/algo21.jpg)
4+
5+
```
6+
"""
7+
# Definition for a Node.
8+
class Node:
9+
def __init__(self, val: int = 0, left: 'Node' = None, right: 'Node' = None, next: 'Node' = None):
10+
self.val = val
11+
self.left = left
12+
self.right = right
13+
self.next = next
14+
"""
15+
16+
class Solution:
17+
def connect(self, root: 'Optional[Node]') -> 'Optional[Node]':
18+
#层序遍历
19+
if not root:
20+
return root
21+
queue = [root]
22+
while queue:
23+
n = len(queue)
24+
tmp = queue[0]
25+
for i in range(1, n):
26+
tmp.next = queue[i]
27+
tmp = queue[i]
28+
for i in range(n):
29+
node = queue.pop(0)
30+
if node.left:
31+
queue.append(node.left)
32+
if node.right:
33+
queue.append(node.right)
34+
return root
35+
```

images/algo21.jpg

8.58 KB
Loading

0 commit comments

Comments
 (0)