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])
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/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...
摘要:栈迭代复杂度时间空间递归栈空间对于二叉树思路用迭代法做深度优先搜索的技巧就是使用一个显式声明的存储遍历到节点,替代递归中的进程栈,实际上空间复杂度还是一样的。对于先序遍历,我们出栈顶节点,记录它的值,然后将它的左右子节点入栈,以此类推。 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)...
阅读 3616·2021-11-24 09:39
阅读 2546·2021-11-15 11:37
阅读 2210·2021-11-11 16:55
阅读 5154·2021-10-14 09:43
阅读 3702·2021-10-08 10:05
阅读 3006·2021-09-13 10:26
阅读 2326·2021-09-08 09:35
阅读 3534·2019-08-30 15:55