Binary Tree Zigzag Level Order Traversal
来源:互联网 发布:007支票打印软件 编辑:程序博客网 时间:2024/04/30 09:30
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,#,#,15,7}
,
3 / \ 9 20 / \ 15 7
return its zigzag level order traversal as:
[ [3], [20,9], [15,7]]本质和BFS一样,就是需要判断是否从右向左输出。设置个标志位就行。
(用deque比较方便,能够从头和尾分别压入)
vector<vector<int> > zigzagLevelOrder(TreeNode *root){ vector<vector<int> > ans; if ( !root ) return ans; int flag=0; deque<int> level; vector<TreeNode*> cur,next; cur.push_back(root); while(!cur.empty()) { level.clear(); next.clear(); for(int start=0;start < cur.size();start++) { TreeNode* tmp=cur[start]; if (flag%2) level.push_front(tmp->val); else level.push_back(tmp->val); if ( tmp->left ) next.push_back(tmp->left); if ( tmp->right) next.push_back(tmp->right); } ans.push_back(vector<int>(level.begin(),level.end())); cur=next; flag++; } return ans;}
0 0
- 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
- Binary Tree Zigzag Level Order Traversal
- 【leetcode】Binary Tree Zigzag Level Order Traversal
- [LeetCode]Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- 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
- Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- file_put_contents
- leetcode: Jump Game
- Android Notification通知详解
- 大数阶乘
- 《白帽子讲web安全》笔记之认证与授权那些事
- Binary Tree Zigzag Level Order Traversal
- ajax异步上传文件
- 工厂模式
- 安装mysql 出现:Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
- beorjy244217beorjybeorjy
- 世界杯最野蛮大战,巴西付出惨重代价步入四强
- 按位与、或、异或等运算方法
- POJ 1179 Polygon 区间DP
- [leetcode] Insertion Sort List(python)