103. Binary Tree Zigzag Level Order Traversal
2016-05-17 10:01
399 查看
/** * 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) { bool lefttoright=true; vector<vector<int>> ret; queue<TreeNode *> q; if(!root) return ret; q.push(root); while(!q.empty()) { int size=q.size(); vector<int> temp(size); //遍历这一层 for(int i=0;i<size;i++) { TreeNode *n=q.front(); q.pop(); int index=lefttoright?i:size-1-i; temp[index]=n->val; if(n->left) q.push(n->left); if(n->right) q.push(n->right); } //反转遍历顺序 lefttoright=!lefttoright; ret.push_back(temp); } return ret; } };
相关文章推荐
- vc listctr失去焦点,仍然高亮
- uva 1597 Searching the Web
- 关于error:Cannot assign to 'self' outside of a method in the init family
- 从cmd中进入MySQL的命令界面
- shell命令-sed
- android帧动画
- 短信接口(创蓝VIP接口文件(2016新版))操作方法之一
- netlink快速使用例程(linux-3.10.36)
- 欢迎使用CSDN-markdown编辑器
- hadoop与云技术、云计算混肴澄清
- mixChannels()函数测试
- LeetCode 187. Repeated DNA Sequences
- 浅谈我对DB INDEX (Davies Bouldin index)的理解
- Discuz论坛管理的问题汇总
- myeclipse报Unhandld event loop Exception怎么解决
- Android View 绘制过程
- Java常见异常和解决办法
- IM之TCP/IP
- 继承
- CI框架出现mysql数据库连接资源无法释放的解决方法