[LeetCode]题解(python):103-Binary Tree Zigzag Level Order Traversal
Posted Ry_Chen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode]题解(python):103-Binary Tree Zigzag Level Order Traversal相关的知识,希望对你有一定的参考价值。
题目来源:
https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/
题意分析:
Z字宽度遍历树。
题目思路:
这题可以用比较取巧的方法。首先获得宽度遍历的结果,然后将第二层的翻转就可以了。
代码(python):
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution(object): def zigzagLevelOrder(self, root): """ :type root: TreeNode :rtype: List[List[int]] """ ans = [] def bfs(root,level): if root != None: if len(ans) < level + 1: ans.append([]) ans[level].append(root.val) bfs(root.left,level + 1) bfs(root.right,level + 1) bfs(root,0) i = 1 while i < len(ans): ans[i].reverse() i += 2 return ans
以上是关于[LeetCode]题解(python):103-Binary Tree Zigzag Level Order Traversal的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode103 BinaryTreeZigzagLevelOrderTraversal(二叉树Z形层次遍历) Java题解
精选力扣500题 第10题 LeetCode 103. 二叉树的锯齿形层序遍历 c++详细题解
LeetCode第103题—二叉树的锯齿形层序遍历—Python实现