本文主要是介绍剑指offer59.按之字形顺序打印二叉树,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
层序遍历:
# -*- 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 hereres = []if not pRoot:return resstack, flag = [pRoot], 1while stack:ceng = []for _ in range(len(stack)):node = stack.pop(0)ceng.append(node.val)if node.left:stack.append(node.left)if node.right:stack.append(node.right)if flag == -1:ceng.reverse()flag *= -1res.append(ceng)return res
这篇关于剑指offer59.按之字形顺序打印二叉树的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!