Leetcode Binary Tree Postorder Traversal
来源:互联网 发布:苍之骑士团卡数据下载 编辑:程序博客网 时间:2024/05/17 06:38
递归和非递归。
递归:简单。
/** * 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<int> postorderTraversal(TreeNode *root) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. v.clear(); dfs(root); return v; } void dfs(TreeNode *root){ if(root == NULL) return ; dfs(root->left); dfs(root->right); v.push_back(root->val); } vector<int> v;};
非递归:我的方法是用两个栈,一个栈s用来遍历节点,另一个栈t用来存节点。最后将栈t的节点pop出来放到vector里面。
/** * 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<int> postorderTraversal(TreeNode *root) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. stack<TreeNode*> s, t; vector<int> v; if(root == NULL) return v; t.push(root); TreeNode *tmp; while(!t.empty()){ tmp = t.top(); s.push(tmp); t.pop(); if(tmp->left != NULL) t.push(tmp->left); if(tmp->right != NULL) t.push(tmp->right); } vector<int> ans; while(!s.empty()){ ans.push_back(s.top()->val); s.pop(); } return ans; }};
- LeetCode Binary Tree Postorder Traversal
- LeetCode:Binary Tree Postorder Traversal
- Leetcode: Binary Tree Postorder Traversal
- Leetcode: Binary Tree Postorder Traversal
- LeetCode:Binary Tree Postorder Traversal
- Leetcode Binary Tree Postorder Traversal
- [LeetCode]Binary Tree Postorder Traversal
- [LeetCode] Binary Tree Postorder Traversal
- leetcode Binary Tree Postorder Traversal
- 【LeetCode】Binary Tree Postorder Traversal
- LeetCode | Binary Tree Postorder Traversal
- Leetcode: Binary Tree Postorder Traversal
- Binary Tree Postorder Traversal - LeetCode
- LeetCode - Binary Tree Postorder Traversal
- [LeetCode]Binary Tree Postorder Traversal
- Binary Tree Postorder Traversal -- LeetCode
- [LeetCode]Binary Tree Postorder Traversal
- 【LeetCode】Binary Tree Postorder Traversal
- vbox虚拟机网络设置
- 无论你的生活如何卑微
- struts2 日期格式化输出标签
- 如何让服务器定时自动运行php文件
- IE无法正常启动
- Leetcode Binary Tree Postorder Traversal
- SQL Server Agent无法启动问题解决方法
- C++ 中将二维数组传入函数
- 卡特兰数 和 斯特林数
- MongoDB Capped Collection 使用
- dojo 重写
- html 日期、全选全部选、添加自动行列
- 第11周计算不同图形的面积
- Windows Azure 社区新闻综述(#76 版)