File tree Expand file tree Collapse file tree 1 file changed +21
-16
lines changed Expand file tree Collapse file tree 1 file changed +21
-16
lines changed Original file line number Diff line number Diff line change @@ -87,26 +87,31 @@ public:
87
87
88
88
python代码:
89
89
90
- ```python
90
+ ```python3
91
91
class Solution:
92
+ """二叉树层序遍历迭代解法"""
93
+
92
94
def levelOrder(self, root: TreeNode) -> List[List[int]]:
95
+ results = []
93
96
if not root:
94
- return []
95
-
96
- queue = [root]
97
- out_list = []
98
-
99
- while queue:
100
- length = len(queue)
101
- in_list = []
102
- for _ in range(length):
103
- curnode = queue.pop(0) # (默认移除列表最后一个元素)这里需要移除队列最头上的那个
104
- in_list.append(curnode.val)
105
- if curnode.left: queue.append(curnode.left)
106
- if curnode.right: queue.append(curnode.right)
107
- out_list.append(in_list)
97
+ return results
98
+
99
+ from collections import deque
100
+ que = deque([root])
101
+
102
+ while que:
103
+ size = len(que)
104
+ result = []
105
+ for _ in range(size):
106
+ cur = que.popleft()
107
+ result.append(cur.val)
108
+ if cur.left:
109
+ que.append(cur.left)
110
+ if cur.right:
111
+ que.append(cur.right)
112
+ results.append(result)
108
113
109
- return out_list
114
+ return results
110
115
```
111
116
112
117
java:
You can’t perform that action at this time.
0 commit comments