103. Binary Tree Zigzag Level Order Traversal(技巧:应用层次遍历+记录每层个数)
来源:互联网 发布:javascript template 编辑:程序博客网 时间:2024/05/21 19:39
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]]
1.我的答案
突然发现,对于层次遍历的相关题目,可以用队列+每层的节点个数都可以来做
/** * 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 == NULL) return res; queue<TreeNode*>q; q.push(root); int count = 1; int odd = 0; vector<int>vec; while(!q.empty()){ TreeNode* t = q.front(); q.pop(); vec.push_back(t->val); if(t->left){ q.push(t->left); } if(t->right){ q.push(t->right); } count--; if(count == 0){ if(odd == 1){ reverse(vec.begin(), vec.end()); } odd = !odd; res.push_back(vec); vec.clear(); count = q.size(); } } return res; }};
0 0
- 103. Binary Tree Zigzag Level Order Traversal(技巧:应用层次遍历+记录每层个数)
- [leetcode-二叉树层次遍历并统计每层节点数]--103. Binary Tree Zigzag Level Order Traversal
- 层次遍历变种103. Binary Tree Zigzag Level Order Traversal
- leetcode---Binary Tree Zigzag Level Order Traversal---层次遍历
- 102. Binary Tree Level Order Traversal (二叉树层次遍历 输出每层)
- Binary Tree Level Order Traversal:层次遍历二叉树,并返回每层的数值
- Binary Tree Zigzag Level Order Traversal,bfs,层序遍历
- 【leetcode 层序遍历】Binary Tree Zigzag Level Order Traversal
- 103.leetcode Binary Tree Zigzag Level Order Traversal(medium)[二叉树层次遍历 栈]
- 103. Binary Tree Zigzag Level Order Traversal | 输出二叉树层次遍历次序
- (二叉树z字形层次遍历)LeetCode#103. Binary Tree Zigzag Level Order Traversal
- 个人记录-LeetCode 103. Binary Tree Zigzag Level Order Traversal
- [leetcode-二叉树层次遍历并统计每层节点数]--102. Binary Tree Level Order Traversal
- [leetcode-二叉树层次遍历并统计每层节点数]--107. Binary Tree Level Order Traversal II
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 103. Binary Tree Zigzag Level Order Traversal
- 用html5页面引入了一个jquery插件,实现平板上的向上滑动加载更多的功能
- 表单对象属性过滤选择器
- LeetCode No334. Increasing Triplet Subsequence
- githug详细安装教程
- 使用LayoutParams来动态修改组件的相对属性
- 103. Binary Tree Zigzag Level Order Traversal(技巧:应用层次遍历+记录每层个数)
- 表单选择器
- android应用登录qq不执行回调原因分析
- 算法学习与代码实现3——合并排序
- 支付宝
- Contiki协议栈Rime:匿名广播abc
- jQuery模拟原生态App上拉刷新下拉加载效果代码
- 第一个简单的jquery程序
- HDU1230 火星A+B