从上往下打印二叉树

从上往下打印二叉树

http://www.nowcoder.com/questionTerminal/7fe2212963db4790b57431d9ed259701

22. 从上往下打印二叉树
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
方法:
应该是最简单的方法,减少了变量,同意实现了队列。

class Solution:
    # 返回从上到下每个节点值列表,例:[1,2,3]
    def PrintFromTopToBottom(self, root):
        # write code here
        layer_list = [root]
        if root is None:
            return []
        for node in layer_list: # 遍历每一层,元素加到列表末尾
            if node.left:
                layer_list.append(node.left)
            if node.right:
                layer_list.append(node.right)
        return [i.val for i in layer_list]

不断遍历layer_list = [root]这个列表,并且不断在末尾添加下一层需要遍历的元素。

全部评论

相关推荐

EEbond:给北邮✌️跪了
点赞 评论 收藏
分享
02-05 08:18
四川大学 Java
在思考的熊熊很讨厌吃香菜:不是,我门头沟学院呢?这都没排上?
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务