Leetcode NO.103 Binary Tree Zigzag Level Order Traversal
来源:互联网 发布:淘宝哪家女装店好 编辑:程序博客网 时间:2024/05/21 09:48
本题题目要求如下:
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]]本题是我少数几个可以一次AC的题。。。主要是因为同类型的题做的太多了。其实就是用recursive DFS,只不过dfs函数里面要有一个argument记录层数,然后根据层数插入就行了,代码也很简单,如下所示:
/** * Definition for binary tree * 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) { dfs(root, 0); return ret; }private:vector<vector<int>> ret;void dfs(TreeNode* root, int level) {if (root == nullptr)return;else {if (level == ret.size()) {vector<int> tmp;ret.push_back(tmp);}if (level%2) {ret[level].insert(ret[level].begin(), root->val);}else {ret[level].push_back(root->val);}dfs(root->left, level + 1);dfs(root->right, level + 1);}}};
0 0
- Leetcode NO.103 Binary Tree Zigzag Level Order Traversal
- LeetCode No.103 Binary Tree Zigzag Level Order Traversal
- leetCode No.103 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
- 二叉树的遍历算法
- ASP.NET 2.0 HttpHandler实现生成图片验证码(示例代码下载)
- Java锁机制
- ios 设置button的title靠左显示
- 起步
- Leetcode NO.103 Binary Tree Zigzag Level Order Traversal
- html5学习渐阶笔记---表单
- 【MongoDB for Java】Java操作MongoDB
- A + B Problem II(hdu1002,大数加法)
- ASP.net 验证码(C#)
- 图的遍历算法
- c语言全局变量和局部变量问题汇总
- Activity生命周期(一)
- Activity与Service的启动和绑定