[LeetCode] 144. Binary Tree Preorder Traversal
来源:互联网 发布:sql server可视化界面 编辑:程序博客网 时间:2024/06/10 10:57
思路:
第一个就是最简单的递归. 就摆一下. 第二个是题目要求的iterative循环, 用一个栈记录节点即可, 不过push的时候要记得先push右边再push左子树, 这样才能preorder遍历.
void helper(vector<int>& res, TreeNode* root) { if (! root) return; res.push_back(root->val); helper(res, root->left); helper(res, root->right);}vector<int> preorderTraversal(TreeNode* root) { vector<int> res; helper(res, root); return res;}
vector<int> preorderTraversal(TreeNode* root) { vector<int> res; if (! root) return res; stack<TreeNode*> stk; stk.push(root); while (! stk.empty()) { TreeNode* cur = stk.top(); stk.pop(); res.push_back(cur->val); if (cur->right) stk.push(cur->right); if (cur->left) stk.push(cur->left); } return res;}
0 0
- [LeetCode]144.Binary Tree Preorder Traversal
- LeetCode 144. Binary Tree Preorder Traversal
- [leetcode] 144.Binary Tree Preorder Traversal
- 【LeetCode】144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal LeetCode
- LeetCode 144. Binary Tree Preorder Traversal
- [LeetCode]144. Binary Tree Preorder Traversal
- 【LeetCode】144. Binary Tree Preorder Traversal
- leetcode:144. Binary Tree Preorder Traversal
- leetcode 144. Binary Tree Preorder Traversal
- [LeetCode OJ]144.Binary Tree Preorder Traversal
- LeetCode *** 144. Binary Tree Preorder Traversal
- LeetCode 144. Binary Tree Preorder Traversal
- LeetCode-144.Binary Tree Preorder Traversal
- LeetCode 144. Binary Tree Preorder Traversal
- leetcode 144. Binary Tree Preorder Traversal
- leetcode 144. Binary Tree Preorder Traversal
- [leetcode] 144. Binary Tree Preorder Traversal
- RecyclerView
- iOS开发:UITableView性能优化
- gcc编译参数:如何包含头文件和动态链接库
- java.lang.IllegalStateExceptionThe specified child already has a parent
- leetcode29 Divide Two Integers
- [LeetCode] 144. Binary Tree Preorder Traversal
- C#调用webbrowser,阻止弹出新HTML页面
- Flume安装及简单部署
- Software Architecture Patterns
- 220. Contains Duplicate III
- 不想浪费时间写重复代码(二)
- 访问Google只需一步,超级简单
- windows程序设计笔记
- iOS Runtime应用实例(一)类别添加属性