剑指offer第32:从上往下打印二叉树

题目描述

从上往下打印出二叉树的每个节点,同层节点从左至右打印。

# -*- coding:utf-8 -*-
class TreeNode:
     def __init__(self, x):
         self.val = x
         self.left = None
         self.right = None
class Solution:
    # 返回从上到下每个节点值列表,例:[1,2,3]
    def PrintFromTopToBottom(self, root):
        # write code here
        if root==None:
            return []
        current=[root]
        res=[]
        while current:
            next=[]
            for i in current:
                if i.left:
                    next.append(i.left)
                if i.right:
                    next.append(i.right)
                res.append(i.val)
                current=next
        return res
 
 

利用current、next、res实现从上往下打印二叉树。

猜你喜欢

转载自blog.csdn.net/zhangjiaxuu/article/details/80960993