Leetcode103. Binary Tree Zigzag Level Order Traversal二叉树的锯齿形层次遍历
2024-09-06 07:48:40
给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。
例如:
给定二叉树 [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)
{
vector<vector<int> > res;
if(root == NULL)
return res;
queue<TreeNode*> q;
q.push(root);
int cnt = 0;
while(!q.empty())
{
int size = q.size();
vector<int> temp;
for(int i = 0; i < size; i++)
{
TreeNode *node = q.front();
q.pop();
temp.push_back(node ->val);
if(node ->left)
q.push(node ->left);
if(node ->right)
q.push(node ->right);
}
if((cnt & 1) == 1)
{
reverse(temp.begin(), temp.end());
}
res.push_back(temp);
cnt++;
}
return res;
}
};
最新文章
- jQuery核心之DOM操作的常用方法
- 一台服务器发布多个tomcat并注册服务名办法
- FineUI Grid控件右键菜单的实现
- 64位linux安装android sdk的问题
- em与px之间的换算
- Activity的跳转与传值(转载)
- OD: Kernel Exploit - 1
- Spring jdbcTemplate + EasyUI 物理分页
- JavaScript高级(01)
- BZOJ-6-2460: [BeiJing2011]元素-线性基
- SQL 一对多联表查询最大值
- 读高性能JavaScript编程 第一章
- haproxy 让后端服务器记录用户的真是IP地址(记录在header头里)
- windows rails new demo时候出错Make sure that `gem install mysql2 -v &#39;0.3.15&#39;` succeeds before bundling.
- GREENPLUM简介
- Java多线程学习(六)Lock锁的使用
- 【贪心】【multiset】Tinkoff Challenge - Final Round (Codeforces Round #414, rated, Div. 1 + Div. 2) C. Naming Company
- httpclient 优化
- Qt 学习之路 2(40):隐式数据共享
- phpMyAdmin关于PHP 5.5+ is required. Currently installed version is: 5.4.16问题