Leetcode 103. Binary Tree Zigzag Level Order Traversal( C++版)
来源:互联网 发布:淘宝文案风格好的推荐 编辑:程序博客网 时间:2024/05/21 16:57
Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between).
For example:
Given binary tree [3,9,20,null,null,15,7]
,
3 / \ 9 20 / \ 15 7
return its zigzag level order traversal as:
[ [3], [20,9], [15,7]]
思路分析:
先按照正常的层序遍历的思想,然后把得到的结果的奇数层进行反转
代码:
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: vector<vector<int>> zigzagLevelOrder(TreeNode* root) { vector< vector<int> > res; if(!root) return res; queue<TreeNode *> q; q.push(root); int level = 1; while(!q.empty()){ vector<int> everylevel; int size = q.size(); for(int i = 0; i < size; i ++){//不能直接q.size() TreeNode * t = q.front(); everylevel.push_back(t -> val); q.pop(); if(t -> left) q.push(t -> left); if(t -> right) q.push(t -> right); } res.push_back(everylevel); } for(int i = 1; i < res.size(); i += 2){ reverse(res[i].begin(), res[i].end()); } return res; }};
0 0
- [C++]LeetCode: 101 Binary Tree Zigzag Level Order Traversal
- LeetCode: Binary Tree Zigzag Level Order Traversal
- [LeetCode]Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Zigzag Level Order Traversal
- [Leetcode] Binary Tree Zigzag Level Order Traversal
- Leetcode: Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Zigzag Level Order Traversal
- [LeetCode] Binary Tree Zigzag Level Order Traversal
- [Leetcode] Binary Tree Zigzag Level Order Traversal
- 【leetcode】Binary Tree Zigzag Level Order Traversal
- [LeetCode]Binary Tree Zigzag Level Order Traversal
- [Leetcode]Binary Tree Zigzag Level Order Traversal
- [leetcode]Binary Tree Zigzag Level Order Traversal
- Leetcode: Binary Tree Zigzag Level Order Traversal
- LeetCode-Binary Tree Zigzag Level Order Traversal
- [leetcode] Binary Tree Zigzag Level Order Traversal
- LeetCode - Binary Tree Zigzag Level Order Traversal
- LeetCode:Binary Tree Zigzag Level Order Traversal
- JAVA中的Random()函数
- 实验 logincheck 菜鸟级别的我
- 4月9日,GetCurrentTime,每日20行。
- 安装python包时出现IOError: [Errno 13] Permission denied
- 在使用MEF+MVVM模式中要学会活用RaisePropertyChanged属性更改通知
- Leetcode 103. Binary Tree Zigzag Level Order Traversal( C++版)
- ajax
- 尽量让这个知识的网络有一个干净的空间
- 面试题(八)
- Metasploit连接数据库失败
- 算法训练 拦截导弹
- 【Oracle学习】之 数据库对象的创建与管理
- 分巧克力
- spring核心框架体系结构(各个jar包作用)