python| #按之字形顺序打印二叉树#

按之字形顺序打印二叉树

http://www.nowcoder.com/practice/91b69814117f4e8097390d107d2efbe0

# -*- coding:utf-8 -*-
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:
    def Print(self, pRoot):
        # write code here
        if pRoot is None:
            return []
        if pRoot.left is None and pRoot.right is None:
            return [[pRoot.val]]
        result = [] #保存结果
        tem = [pRoot] #保存每一层的节点
        point = True
        while len(tem)>0:
            if point:
                tem_val = [x.val for x in tem]
                result.append(tem_val)
                tem2 = []
                for node in tem:
                    if  node.left:
                        tem2.append(node.left)
                    if  node.right:
                        tem2.append(node.right)
                point = False
                tem = tem2
            else:
                tem_val = [x.val for x in tem[::-1]]
                result.append(tem_val)
                tem2 = []
                for node in tem:
                    if  node.left:
                        tem2.append(node.left)
                    if  node.right:
                        tem2.append(node.right)
                point = True
                tem = tem2
        return result
全部评论

相关推荐

02-07 10:52
复旦大学 Java
混子不想混:非常能理解,感觉他们就靠着入行早,打压新人一样。我这个公司也是,天天干的累死累活,然后绩效打C,合着让新人被绩效,像是年底攒棺材本一样。总是打击之后,还会让人开始自我怀疑,是不是我努力的还不够,实际上并不是,就是他们不做人,故意打压新人。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务