Binary Tree Level Order Traversal

Given a binary tree, return thelevel ordertraversal of its nodes' values. (ie, from left to right, level by level).

For example: Given binary tree[3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7

return its level order traversal as:

[
  [3],
  [9,20],
  [15,7]
]

Note:

in Binary Tree Level Order Traversal II, the requirement is only different in getting the outcome as reverse order, namely bottom-up level order traversal as:

[
  [15,7],
  [9,20],
  [3]
]

Analysis

Recursive - DFS

关键在传入一个结果的list,因为list中元素的序号代表了层数(n+1)

Queue

利用一个Queue记录需要扫描的层(level)的节点数(number of nodes),依次存入每个节点的左子节点和右子节点到Queue中,读取时依次从Queue取出节点并存入该层sub list,每层扫描完后存入总的wrap list。

Solution

Top-down level order traversal

Using Recursive - DFS

Using Queue - BFS

Bottom-up level order traversal

DFS - Recursive

BFS - Queue

Last updated

Was this helpful?