按之字形顺序打印二叉树(二叉树的层次遍历)
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
相关文章推荐
- 《剑指Offer》学习笔记--面试题61:按之字形顺序打印二叉树
- 按层次顺序(同一层自左至右)遍历二叉树的算法
- 按之字形顺序打印二叉树
- 数据结构与算法简记:按层次顺序遍历和存储二叉树
- 二叉树的层次遍历,从上往下打印二叉树
- 剑指offer(五十三)之按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 《剑指offer》:[61]按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 剑指offer面试题61 按之字形顺序打印二叉树(java实现)
- 牛客网刷题之按之字形顺序打印二叉树
- 二叉树层次遍历打印
- 51.之字形顺序打印二叉树
- 按之字形顺序打印二叉树(java版)
- 按之字形顺序打印二叉树
- 剑指offer--从上往下打印二叉树--层次遍历、广度优先搜索
- 二叉树------从文件中读取进行层次遍历(顺序表)