[leetcode]Binary Tree Level Order Traversal II
来源:互联网 发布:优美图软件下载 编辑:程序博客网 时间:2024/06/05 15:30
#include<iostream>#include<list>#include<queue>#include<vector>using namespace std;struct TreeNode{ int val; TreeNode* left; TreeNode* right; TreeNode(int value):val(value),left(NULL),right(NULL){};};class Solution{public: void fun(TreeNode* root) { deque<TreeNode*>result; vector<vector<int>>talres; vector<int>res; if(!root) return; TreeNode* cur=root; result.push_back(cur); while(!result.empty()) { res.push_back(result.front()->val); if(result.front()->left) result.push_back(result.front()->left); if(result.front()->right) result.push_back(result.front()->right); result.pop_front(); } for(auto i:res) { cout<<i<<' '; } cout<<endl; } void level(TreeNode* root) { deque<TreeNode*>resultnode; deque<TreeNode*>resnode; vector<vector<int>>resultdata; vector<int>resdata; TreeNode* cur=root; resnode.push_back(cur); while(!resnode.empty()) { while(!resnode.empty()) { resdata.push_back(resnode.front()->val); if(resnode.front()->left) resultnode.push_back(resnode.front()->left); if(resnode.front()->right) resultnode.push_back(resnode.front()->right); resnode.pop_front(); } resultdata.push_back(resdata); resdata.clear(); swap(resnode,resultnode); } reverse(resultdata.begin(),resultdata.end()); for(auto i:resultdata) for(auto j:i) cout<<j<<' '; cout<<endl; }};void main(){ TreeNode* node1=new TreeNode(1); TreeNode* node2=new TreeNode(2); TreeNode* node3=new TreeNode(3); TreeNode* node4=new TreeNode(4); TreeNode* node5=new TreeNode(5); TreeNode* node6=new TreeNode(6); TreeNode* node7=new TreeNode(7); node1->left=node2; /*node1->right=node3; node2->left=node4; node2->right=node5; node3->left=node6; node3->right=node7;*/ node2->left=node3; node3->right=node4; node1->right=node5; Solution solution; solution.fun(node1); solution.level(node1);}
0 0
- LeetCode: Binary Tree Level Order Traversal II
- [LeetCode]Binary Tree Level Order Traversal II
- LeetCode Binary Tree Level Order Traversal II
- [Leetcode] Binary Tree Level Order Traversal II
- LeetCode Binary Tree Level Order Traversal II
- [LeetCode] Binary Tree Level Order Traversal II
- 【leetcode】Binary Tree Level Order Traversal II
- [LeetCode]Binary Tree Level Order Traversal II
- [Leetcode]Binary Tree Level Order Traversal II
- [leetcode]Binary Tree Level Order Traversal II
- LeetCode-Binary Tree Level Order Traversal II
- LeetCode - Binary Tree Level Order Traversal II
- [LeetCode] Binary Tree Level Order Traversal II
- LeetCode | Binary Tree Level Order Traversal II
- LeetCode - Binary Tree Level Order Traversal II
- 【leetcode】Binary Tree Level Order Traversal II
- 【LeetCode】Binary Tree Level Order Traversal II
- [LeetCode] Binary Tree Level Order Traversal II
- PropertyPlaceholderConfigurer的用法
- HDU 4248 (DP + 组合数)
- 技术之路
- java注解
- 消除App启动时候的白屏
- [leetcode]Binary Tree Level Order Traversal II
- js中var用与不用的区别
- linux的top命令
- java基础学习笔记7
- java
- 图片压缩。大小压缩
- fragmentManager中的回退栈
- 第三十三讲|三种循环
- GRE写作必备句型