102. 二叉樹的層次遍歷
題目描述
給定一個二叉樹,返回其按層次遍歷的節點值。 (即zhu"ceng"de,從左到右訪問)。例如:
給定二叉樹: [3,9,20,null,null,15,7],
3 / 9 20 / 15 7 返回其層次遍歷結果為:[ [3], [9,20], [15,7] ]
class Solution: def levelOrder(self, root): """ :type root: TreeNode :rtype: List[List[int]] """ if not root: return [] values,nodes_level=[[root.val]],[root] while True: if not nodes_level: return [value_level for value_level in values if value_level] nodes_level=[kid for node in nodes_level for kid in (node.left,node.right) if kid] values.append([node.val for node in nodes_level])
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/44682.html
摘要:題目要求對于一棵樹進行序遍歷。水平遍歷即遍歷結束當前行以后再遍歷下一行,并將每行的結果按行填入到數組中返回。利用水平遍歷的話,我們只需要知道當前元素在樹中的高度就可以知道應當插入到那個數組中。 題目要求 Given a binary tree, return the level order traversal of its nodes values. (ie, from left to...
429. N-ary Tree Level Order Traversal Given an n-ary tree, return the level order traversal of its nodes values. (ie, from left to right, level by level). For example, given a 3-ary tree:showImg(https...
摘要:解題思路層次遍歷二叉樹,我們采用隊列,本題的注意點是需要分割出每一層的序列,所以在從隊列中取元素之前,我們要先記錄隊列的大小,以表示這一層中節點的個數。 Binary Tree Level Order TraversalGiven a binary tree, return the level order traversal of its nodes values. (ie, from...
摘要:棧迭代復雜度時間空間遞歸??臻g對于二叉樹思路用迭代法做深度優先搜索的技巧就是使用一個顯式聲明的存儲遍歷到節點,替代遞歸中的進程棧,實際上空間復雜度還是一樣的。對于先序遍歷,我們出棧頂節點,記錄它的值,然后將它的左右子節點入棧,以此類推。 Binary Tree Preorder Traversal Given a binary tree, return the preorder tr...
摘要:題目要求對叉樹進行水平遍歷,并輸出每一行遍歷的結果。因此無需再用隊列來額外存儲每一行的水平遍歷,可以直接通過遞歸將遍歷結果插入到相應行的結果集中。 題目要求 Given an n-ary tree, return the level order traversal of its nodes values. (ie, from left to right, level by level)...
閱讀 3624·2021-11-24 09:39
閱讀 2558·2021-11-15 11:37
閱讀 2219·2021-11-11 16:55
閱讀 5212·2021-10-14 09:43
閱讀 3712·2021-10-08 10:05
閱讀 3013·2021-09-13 10:26
閱讀 2334·2021-09-08 09:35
閱讀 3542·2019-08-30 15:55