Skip to content

Commit d0368e9

Browse files
committed
层序遍历
1 parent 01a7cc9 commit d0368e9

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

tree/116_connect.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import collections
2+
3+
4+
# Definition for a Node.
5+
class Node:
6+
def __init__(self, val: int = 0, left: 'Node' = None, right: 'Node' = None,
7+
next: 'Node' = None):
8+
self.val = val
9+
self.left = left
10+
self.right = right
11+
self.next = next
12+
13+
14+
class Solution:
15+
def connect(self, root: 'Node') -> 'Node':
16+
if not root:
17+
return
18+
19+
q = collections.deque()
20+
q.append(root)
21+
22+
while q:
23+
cnt = len(q)
24+
last = q[0]
25+
26+
for i in range(cnt):
27+
node = q.popleft()
28+
if node.left:
29+
q.append(node.left)
30+
if node.right:
31+
q.append(node.right)
32+
if i != 0:
33+
last.next = node
34+
last = node
35+
36+
return root

0 commit comments

Comments
 (0)