leetcode第一刷_Binary Tree Zigzag Level Order Traversal
2024-10-16 18:35:08
以出现的频率来看。树的层序遍历一定是考察的重点,除非工作人员想找题水数量。
zigzag,还是有几道题的,层序的这个非常easy,假设是奇数层。reverse下面就可以。无他。我写的时候预计还不知道这个函数。要么怎么这么拙呢。。
class Solution {
public:
vector<vector<int> > zigzagLevelOrder(TreeNode *root) {
vector<vector<int> > res;
if(root == NULL) return res;
vector<int> tpres;
queue<TreeNode*> que;
TreeNode *pNode;
int level = 0;
que.push(root);
que.push(NULL);
while(!que.empty()){
pNode = que.front();
que.pop();
if(pNode == NULL){
level++;
if(level%2 == 0){
for(int i=0, j=tpres.size()-1;i<j;i++, j--){
int t = tpres[i];
tpres[i] = tpres[j];
tpres[j] = t;
}
}
res.push_back(tpres);
if(que.empty())
break;
else{
tpres.clear();
que.push(NULL);
continue;
}
}
tpres.push_back(pNode->val);
if(pNode->left)
que.push(pNode->left);
if(pNode->right)
que.push(pNode->right);
}
return res;
}
};
最新文章
- Selenium_IEDriver操作sendkeys输入速度太慢
- Oracle:从SQL文件批量导入数据
- 移动端字体缩放问题解决方案-摘自《html5移动web开发实践》
- Spring Data Jpa配置
- JavaScript代码优化(下载时间和执行速度优化)
- C语言中的命名空间
- C#_模拟webAp_POST-GET-PUT-DELETE
- HDU5311 Hidden String
- bootstrap注意事项(七)图片
- FluentConsole是一个托管在github的C#开源组件
- git add --all 为啥不能添加空文件夹,这样设计的初衷是
- 重新想象 Windows 8 Store Apps (4) - 控件之提示控件: ProgressRing; 范围控件: ProgressBar, Slider
- 数模学习笔记(四)——AHP
- Java、javax、org、sun、Java.util等常用包的区别、详解、实例
- Docker1.12.6+CentOS7.3 的安装
- Android初级教程实现电话录音
- IntelliJ的Scala配置
- Linux分页机制之分页机制的实现详解--Linux内存管理(八)
- 061 SparkStream数据接收原理
- 超详细!Github团队协作教程(Gitkraken版)
热门文章
- jQuery Lazy Load图片懒加载
- 理解Java垃圾回收
- HDU 6300.Triangle Partition-三角形-水题 (2018 Multi-University Training Contest 1 1003)
- Python的程序结构[4] ->; 函数/Function[2] ->; 匿名函数
- Best Time to Buy and Sell Stock with Cooldown -- LeetCode
- Mac上Git的安装与简单使用
- 基于Android的串口聊天室 (基于tiny4412) 一
- 【IntellJ IDEA】idea的Terminal窗口中文乱码 解决方法
- JAVA常见算法题(三)
- Spark map-side-join 关联优化