设为首页 加入收藏

TOP

按之字形顺序打印二叉树(二叉树的层次遍历)
2017-02-08 08:16:49 】 浏览:253
Tags:字形 顺序 打印 层次

题目描述


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


# -*- 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


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇把二叉树打印成多行(二叉树的层次.. 下一篇平衡二叉树(二叉树深度+DFS)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目