Binary Tree Zigzag Level Order Traversal
来源:互联网 发布:手机扫描识字软件 编辑:程序博客网 时间:2024/06/05 17:08
Binary Tree Zigzag Level Order Traversal
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,宽度查找法,把同一级别的宽度记下来,访问的同时把下一层弄到队列里面去。常用遍历方法!
class Solution {public: vector<vector<int>> zigzagLevelOrder(TreeNode* root) {vector<vector<int>> levelOrderStore;if (root==NULL)return levelOrderStore;queue<TreeNode *>q;stack<TreeNode *>rightout;q.push(root);rightout.push(root);int count=1;int level=0;vector<int> tmp(0);int flag=0;//begin right->left->rightwhile (!q.empty())//q.root{tmp.clear();level=0;for (int i=0;i<count;i++)//level{root=q.front(); //every root.q.pop();if (flag%2==0){tmp.push_back(root->val);}else{tmp.push_back(rightout.top()->val); //every root.rightout.pop();//}if (root->left!=NULL){q.push(root->left);if (flag%2==0){rightout.push(root->left); //}++level;}if (root->right!=NULL){q.push(root->right);if (flag%2==0)rightout.push(root->right);++level;}}count=level;levelOrderStore.push_back(tmp);flag++;}return levelOrderStore;}};
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
- XML文件读写
- Android L 自动获取时区失败问题的解决
- 继续畅通工程 HDU杭电1879 【Kruscal算法】
- Android reboot
- ubuntu的init与系统服务设置
- Binary Tree Zigzag Level Order Traversal
- HDU 1144 Prerequisites?
- Xcode 7新的特性Lightweight Generics 轻量级泛型与__kindof修饰符
- 设置 AFNetworking 网络请求的超时时间
- 零基础学python-2.5 变量与赋值
- HttpURLConnection的GET和POST请求
- Java中的Vector向量
- 白话设计模式之--观察者模式
- 第三章 栈和队列