103. 二叉树的锯齿形层次遍历
给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。
例如:
给定二叉树 [3,9,20,null,null,15,7],3
/ \
9 20
/ \
15 7
返回锯齿形层次遍历如下:[
[3],
[20,9],
[15,7]
]
解法:
class Solution {
public:vector<vector<int>> zigzagLevelOrder(TreeNode* root) {if(!root) return {};vector<vector<int>> res;queue<TreeNode *> qu;qu.push(root);int n = 0;while(!qu.empty()){int count = qu.size();vector<int> curr;while(count--){TreeNode *s = qu.front();qu.pop();curr.push_back(s->val);if(s->left) qu.push(s->left);if(s->right) qu.push(s->right);}++n;if(n % 2 == 0)std::reverse(curr.begin(), curr.end());res.push_back(curr);}return res;}
};
103. 二叉树的锯齿形层次遍历相关推荐
- LeetCode 103. 二叉树的锯齿形层次遍历(Binary Tree Zigzag Level Order Traversal)
103. 二叉树的锯齿形层次遍历 103. Binary Tree Zigzag Level Order Traversal 题目描述 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再 ...
- 103. 二叉树的锯齿形层次遍历/102. 二叉树的层序遍历
2020-05-24 1.题目描述 二叉树的锯齿形层次遍历 2.题解 对于层次遍历而言,就是广度优先,由于题目要求奇数层逆序,我们可以 1)使用双端队列,奇偶性不同,则出入队列方式不同. 2)对于偶数 ...
- 【Leetcode】103. 二叉树的锯齿形层次遍历
题目 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 ...
- 【LeetCode】103# 二叉树的锯齿形层次遍历
题目描述 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7], ...
- LeetCode 103. 二叉树的锯齿形层次遍历(BFS / 双栈)
1. 题目 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7] ...
- leetcode 103. 二叉树的锯齿形层次遍历
给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7], 3/ \ ...
- 103.二叉树的锯齿形层次遍历:DFS解法
Time: 20190830 题目描述 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,n ...
- Leetcode 103. 二叉树的锯齿形层次遍历 解题思路及C++实现
解题思路: 因为是逐层的访问,在访问某一层的节点时,需要将其子节点push进栈,所以自然而然地想到用两个栈a和b.因为是锯齿形的访问顺序,所以,如果将根节点当做第一层,奇数层与偶数层的进栈区别在于:奇 ...
- LeetCode Algorithm 103. 二叉树的锯齿形层序遍历
103. 二叉树的锯齿形层序遍历 Ideas 首先得理解二叉树的层序遍历,它类似于广度优先搜索,在当前层搜索的时候,遍历到的每一个节点都要把它的所有孩子节点都添加到队列中. 然后我们要锯齿形遍历,可以 ...
最新文章
- python类中self是什么
- Windows 软件推荐2020
- 谁的bug? 正则 拷贝和粘贴 regulator工具
- 读《人,绩效和职业道德》有感
- 同是iPad退差价却不同?
- BigNums 之 hdu 1753
- Visio是一个很好的UML建模软件和一个很好的制图软件
- 【概率论】5-9:多项式分布(The Multinomial Distributions)
- JS学习之Object
- 令你的网站获得任意Google PR值的方法!
- Implement AWS SQS and Lambda to decouple process flow
- 简述中断处理的6个步骤_完整的中断处理过程分为那几个阶段?
- can和could的用法_情态动词can和could用法详解
- 《Journal of Building Engineering》期刊介绍(SCI 3区)
- 数码相机(百度百科)
- 痞子衡嵌入式:串口调试工具Jays-PyCOM诞生记 - 索引
- 一文了解SAAS开发、模板定制开发、全定制开发
- Java如何实现文档在线预览+下载
- ASAS-CoMoSpA研究: 评价SpA不同分类标准的表现
- 如何选择一款趁手的光纤测试仪
热门文章
- 2014年9月21日_随笔,jdic,ETL,groovy,Nutz好多东西想学
- [原]Asp.net替换不同版本的Dll文件碰到的问题以及解决办法.
- PL/SQL Developer 使用技巧小结(转)
- php curl 采集文件,curl获取远程文件内容
- ft服务器设置传输协议,ft服务器设置成主动模式
- volta架构 微型计算机,性能大爆炸 NVIDIA新GPU架构曝光
- linux脚本编写规则,shell脚本编写守则
- php简单分页,php简单实现分页查询的方法
- python自带sqlite库_Python标准库之sqlite3使用实例
- jp在java中无法编译_JPanal上加图片的问题!