給定一個二叉樹,返回其按層次遍歷的節點值。 (即逐層地,從左到右訪問所有節點)。
例如:
給定二叉樹:?[3,9,20,null,null,15,7]
,
????3 ???/?\ ??9??20 ????/??\ ???15???7
返回其層次遍歷結果:
[ ??[3], ??[9,20], ??[15,7] ]
#?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[List[int]]: ????????if?not?root: ????????????return?[] ????????res?=?[] ????????cur_node?=?[root] ????????next_node?=?[] ????????res.append([i.val?for?i?in?cur_node]) ????????while?cur_node?or?next_node: ????????????for?node?in?cur_node: ????????????????if?node.left: ????????????????????next_node.append(node.left) ????????????????if?node.right: ????????????????????next_node.append(node.right) ????????????if?next_node: ????????????????res.append([ ????????????????????i.val?for?i?in?next_node ????????????????]) ????????????cur_node?=?next_node ????????????next_node?=?[] ????????return?res
執行用時 :?80 ms, 在Binary Tree Level Order Traversal的Python3提交中擊敗了26.32% 的用戶
內存消耗 :?13.2 MB, 在Binary Tree Level Order Traversal的Python3提交中擊敗了98.08% 的用戶
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。