Leetcode 103. 二叉树的锯齿形层序遍历 (每日一题 20210924)
给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:
给定二叉树 [3,9,20,null,null,15,7],3/ \9 20/ \15 7
返回锯齿形层序遍历如下:[[3],[20,9],[15,7]
]链接:https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversalclass Solution:def zigzagLevelOrder(self, root: TreeNode) -> List[List[int]]:# if not root:return []# cur_level,res = [root], []# depth = 0# while cur_level:# next_level = []# tmp = []# for node in cur_level:# tmp.append(node.val)# if node.left:# next_level.append(node.left)# if node.right:# next_level.append(node.right)# if depth % 2 == 1:# res.append(tmp[::-1])# else:# res.append(tmp)# depth += 1# cur_level = next_level# return resres = []def helper(root, depth):if not root:return if len(res) == depth:res.append([])if depth % 2 == 0:res[depth].append(root.val)else:res[depth].insert(0, root.val)helper(root.left, depth + 1)helper(root.right, depth + 1)helper(root,0)return res
Leetcode 103. 二叉树的锯齿形层序遍历 (每日一题 20210924)相关推荐
- Leetcode 103.二叉树的锯齿形层序遍历
难度:中等 频率:136 题目: 给定一个二叉树,返回其节点值的锯齿形层序遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 解题方法:改进的BPS[广度优先搜索] BP ...
- LeetCode Algorithm 103. 二叉树的锯齿形层序遍历
103. 二叉树的锯齿形层序遍历 Ideas 首先得理解二叉树的层序遍历,它类似于广度优先搜索,在当前层搜索的时候,遍历到的每一个节点都要把它的所有孩子节点都添加到队列中. 然后我们要锯齿形遍历,可以 ...
- LeetCode 103. 二叉树的锯齿形层次遍历(Binary Tree Zigzag Level Order Traversal)
103. 二叉树的锯齿形层次遍历 103. Binary Tree Zigzag Level Order Traversal 题目描述 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再 ...
- 力扣题目——103. 二叉树的锯齿形层序遍历
注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路. 描述 给定一个二叉树,返回其节点值的锯齿形层序遍历.(即先从左往右,再从右往左进行 ...
- LeetCode 103. 二叉树的锯齿形层次遍历(BFS / 双栈)
1. 题目 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7] ...
- leetcode 103. 二叉树的锯齿形层次遍历
给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7], 3/ \ ...
- Leetcode 103. 二叉树的锯齿形层次遍历 解题思路及C++实现
解题思路: 因为是逐层的访问,在访问某一层的节点时,需要将其子节点push进栈,所以自然而然地想到用两个栈a和b.因为是锯齿形的访问顺序,所以,如果将根节点当做第一层,奇数层与偶数层的进栈区别在于:奇 ...
- c++二叉树的层序遍历_leetcode 103. 二叉树的锯齿形层序遍历
按层次遍历,记录下对应节点的val和所在层,然后经过一定变换得到输出.python代码如下: # Definition for a binary tree node.# class TreeNode( ...
- 二叉树的锯齿形层序遍历
Leetcode:103. 二叉树的锯齿形层序遍历 - 力扣(LeetCode) (leetcode-cn.com) 还是层序遍历的问题,只不过这里需要注意层数,从而选择是正序访问还是倒序访问. 时间 ...
最新文章
- pycharm 无法更新代码 update project 无效
- Can you raed it croretcly?
- 设计模式(1)--简单工厂模式、策略模式
- DataTable转成List集合
- eclipse myeclipse 快捷键
- Python flask 开发工具和框架安装
- 手动配置ubuntu无线网络
- python golang 小工具_使用Go语言简单模拟Python的生成器
- 为什么说微服务一定要有 API 网关?
- 125	Valid Palindrome
- 有人说男人赚钱都是为了女人,这话说的有道理吗?
- 【计算机网络】局域网原理与技术(局域网概述、以太网技术、高速以太网、虚拟局域网、无线局域网)
- 51CTO网站博客改版意见寻求
- 利用计算机提出算法分析问题,应用计算机计算不可积类型的积分算法分析
- Flex4_操作XML
- 计算机网络—3网络层(路由选择协议、路由表的生成)
- 哪些思维方式是你刻意训练过的?
- Android中文字加下划线的方法
- EXCEL基本功能 --- 数据透视表
- 以太坊的区块和存储(一):区块头
热门文章
- 实现键盘录入的第二种方式。。。。。
- 《C++入门经典(第6版)》——1.3 创建您的第一个程序
- MySQL-MongoDB开源监控利器之PMM
- 论文笔记之:Instance-aware Semantic Segmentation via Multi-task Network Cascades
- YII用户注冊和用户登录(五)之进行session和cookie分析 ,并在前后区分session和cookie...
- 强制修改mysql 中root的密码
- python html parse
- c++学习总结:extern声明全局变量
- 算法提高课-图论-负环-AcWing 1165. 单词环:spfa判正环、二分、01分数规划
- 加速度随机游走_IMU Noise Model