歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 按之字形順序打印二叉樹(二叉樹的層次遍歷)

按之字形順序打印二叉樹(二叉樹的層次遍歷)

日期:2017/3/1 9:06:01   编辑:Linux編程

題目描述

請實現一個函數按照之字形打印二叉樹,即第一行按照從左到右的順序打印,第二層按照從右至左的順序打印,第三行按照從左到右的順序打印,其他行以此類推。

和把二叉樹打印成多行(問題:鏈接)類似,都是對二叉樹的層次遍歷,只不過這個題要求正序逆序交叉輸出

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

求二叉樹中兩個節點的最遠距離 http://www.linuxidc.com/Linux/2016-08/134049.htm

根據二叉樹的前序數組和中序序遍歷數組生成二叉樹 http://www.linuxidc.com/Linux/2016-09/135514.htm

判斷一個二叉樹是否是平衡二叉樹 http://www.linuxidc.com/Linux/2016-07/132842.htm

輕松搞定面試中的二叉樹題目 http://www.linuxidc.com/linux/2014-07/104857.htm

二叉樹的先序、中序、後序遍歷 http://www.linuxidc.com/Linux/2016-06/132504.htm

Copyright © Linux教程網 All Rights Reserved