剑指offer--面试题61:按之字形顺序打印二叉树
2016-09-28 16:33
525 查看
题目描述
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。python实现:
# -*- 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 [] result = [] tmpResult = [] from collections import deque queue = deque([pRoot]) curLevelNum = 1 isEven = False while queue: while curLevelNum: front = queue.popleft() curLevelNum -= 1 tmpResult.append(front.val) if front.left: queue.append(front.left) if front.right: queue.append(front.right) curLevelNum = len(queue) if isEven: result.append(tmpResult[::-1]) isEven = False else: result.append(tmpResult[:]) isEven = True tmpResult = [] return result
相关文章推荐
- 剑指offer 面试题61 按之字形顺序打印二叉树
- 【剑指Offer】面试题61:按之字形顺序打印二叉树
- 剑指offer——面试题61:按之字形顺序打印二叉树
- 剑指offer面试题61 按之字形顺序打印二叉树(java实现)
- 【剑指Offer学习】【面试题61:按之字形顺序打印二叉树】
- 剑指offer 61题 【树】按之字形顺序打印二叉树
- 【剑指offer】面试题32(3):之字形打印二叉树
- 剑指offer--按之字形顺序打印二叉树
- 【剑指Offer】按之字形顺序打印二叉树
- 剑指offer-按之字形顺序打印二叉树
- 剑指offer(C++)——按之字形顺序打印二叉树
- 剑指offer 61 - 按之字形打印二叉树
- 剑指offer——59.按之字形顺序打印二叉树
- 剑指offer——面试题61:按之字形顺序打印二叉树
- 剑指offer--按之字形顺序打印二叉树
- 《剑指offer》Python语言 面试题61:按之字形顺序打印二叉树
- 面试题61:按之字形顺序打印二叉树
- (C++)剑指offer-59:按之字形顺序打印二叉树(树)
- 剑指offer-按之字形顺序打印二叉树
- (剑指Offer)面试题61:按之字形顺序打印二叉树