File tree Expand file tree Collapse file tree 1 file changed +30
-1
lines changed Expand file tree Collapse file tree 1 file changed +30
-1
lines changed Original file line number Diff line number Diff line change @@ -265,7 +265,7 @@ func levelOrder(root *TreeNode) [][]int {
265
265
266
266
``` go
267
267
/* *
268
- 102. 二叉树的层序遍历
268
+ 102. 二叉树的层序遍历 使用container包
269
269
*/
270
270
func levelOrder (root *TreeNode ) [][]int {
271
271
res := [][]int {}
@@ -296,6 +296,35 @@ func levelOrder(root *TreeNode) [][]int {
296
296
return res
297
297
}
298
298
299
+ /* *
300
+ 102. 二叉树的层序遍历 使用切片
301
+ */
302
+ func levelOrder (root *TreeNode ) [][]int {
303
+ res := make ([][]int , 0 )
304
+ if root == nil {
305
+ return res
306
+ }
307
+ queue := make ([]*TreeNode, 0 )
308
+ queue = append (queue, root)
309
+ for len (queue) > 0 {
310
+ size := len (queue)
311
+ level := make ([]int , 0 )
312
+ for i := 0 ; i < size; i++ {
313
+ node := queue[0 ]
314
+ queue = queue[1 :]
315
+ level = append (level, node.Val )
316
+ if node.Left != nil {
317
+ queue = append (queue, node.Left )
318
+ }
319
+ if node.Right != nil {
320
+ queue = append (queue, node.Right )
321
+ }
322
+ }
323
+ res = append (res, level)
324
+ }
325
+ return res
326
+ }
327
+
299
328
/* *
300
329
102. 二叉树的层序遍历:使用切片模拟队列,易理解
301
330
*/
You can’t perform that action at this time.
0 commit comments