Skip to content

Commit ee8d205

Browse files
committed
层序遍历
1 parent 5893eaf commit ee8d205

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

tree/117_connect.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Definition for a Node.
2+
import collections
3+
4+
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+
for i in range(cnt):
26+
node = q.popleft()
27+
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+
return root

0 commit comments

Comments
 (0)