Leetcode Day13 3
劍指 Offer 32 - II. 從上到下打印二叉樹(shù) II
從上到下按層打印二叉樹(shù),同一層的節(jié)點(diǎn)按從左到右的順序打印,每一層打印到一行。
?
例如:
給定二叉樹(shù): [3,9,20,null,null,15,7],
? ? 3
? ?/ \
? 9? 20
? ? /? \
? ?15? ?7
返回其層次遍歷結(jié)果:
[
? [3],
? [9,20],
? [15,7]
]
這道題不一樣的是要按層來(lái)輸出列表,因此要先獲得層里面節(jié)點(diǎn)的個(gè)數(shù)然后放到暫存的列表中。
#?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:?TreeNode)?->?List[int]:
????????if?not?root:return?[]
????????res=[]
????????q=[]
????????q.append(root)
????????while?q:
????????????tmp=[]
????????????l=len(q)
????????????for?i?in?range(l):
????????????????node=q.pop(0)
????????????????tmp.append(node.val)
????????????????if?node.left:
????????????????????q.append(node.left)
????????????????if?node.right:
????????????????????q.append(node.right)
????????????res.append(tmp)
????????return?res
