您的位置:首页 > 编程语言 > Python开发

按之字形顺序打印二叉树(二叉树的层次遍历)

2017-01-28 16:14 302 查看


题目描述

请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。

和把二叉树打印成多行(问题:链接)类似,都是对二叉树的层次遍历,只不过这个题要求正序逆序交叉输出

# -*- 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 not pRoot:
return []

flag = True
result = []

p = [pRoot]
while p:
res = []
node = []

for n in p:
if n.left:
node.append(n.left)
if n.right:
node.append(n.right)
res.append(n.val)

if flag == False:
result.append(res[::-1])
flag = True
else:
result.append(res)
flag = False
p = node

return result
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ACM python