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
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 11:27
明天又是董事长面,啥时候是个头啊
积极向上的林同学:董事长亲自面试
点赞 评论 收藏
分享
小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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