题目描述
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
说明:本题目包含复杂数据结构TreeNode,点此查看相关信息
# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution:def Print(self, pRoot):# write code hereif not pRoot:return []ret = []curr_stack = [pRoot]while curr_stack:next_stack = []curr_vals = []for node in curr_stack:if node.left:next_stack.append(node.left)if node.right:next_stack.append(node.right)curr_vals.append(node.val)curr_stack = next_stackret.append(curr_vals)result = []for i,v in enumerate(ret):if i%2==0:result.append(v)else:result.append(v[::-1])return result
