- Binary Tree Level Order Traversal
Given a binary tree, return the level order traversal 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]
]
my thoughts:
1. bfs.
O(n)
my solution:
**********48ms
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def levelOrder(self, root):
"""
:type root: TreeNode
:rtype: List[List[int]]
"""
res = []
if not root:
return res
prev = [root]
while prev:
cur = []
curVal = []
for n in prev:
curVal.append(n.val)
if n.left:
cur.append(n.left)
if n.right:
cur.append(n.right)
res.append(curVal)
prev = cur
return res
my comments:
from other ppl's solution:
1. N/A