LeetCode 144: Binary Tree Preorder Traversal
来源:互联网 发布:怎么下载安装mysql 编辑:程序博客网 时间:2024/04/28 19:41
Given a binary tree, return the preorder traversal of its nodes’ values.
For example:
Given binary tree {1,#,2,3},
1
\
2
/
3
return [1,2,3].
Note: Recursive solution is trivial, could you do it iteratively?
题目要求对二叉树进行非递归的前序遍历,所谓前序遍历即,先访问根节点、再访问左子树、然后是右子树。通常采用递归的方法,题目要求采用非递归的方法实现。算法如下:
1)如果根节点非空,将根节点加入到栈中。
2)如果栈不空,弹出出栈顶节点,将其值加加入到数组中。
如果该节点的右子树不为空,将右子节点加入栈中。 如果左子节点不为空,将左子节点加入栈中。
3)重复第二步,直到栈空。
代码如下:
class Solution {public: vector<int> preorderTraversal(TreeNode* root) { vector<int> result; stack< TreeNode *> node_stack; if (root != NULL) { node_stack.push(root); } while (!node_stack.empty()) { TreeNode * tmpNode = node_stack.top(); node_stack.pop(); result.push_back(tmpNode->val); if (tmpNode->right) { node_stack.push(tmpNode->right); } if (tmpNode->left) { node_stack.push(tmpNode->left); } } return result; }};
1 0
- LeetCode(144)Binary Tree Preorder Traversal
- LeetCode: Binary Tree Preorder Traversal [144]
- [leetcode 144]Binary Tree Preorder Traversal
- leetcode || 144、Binary Tree Preorder Traversal
- Binary Tree Preorder Traversal - LeetCode 144
- 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
- Binary Tree Preorder Traversal (leetcode 144)
- leetcode[144]:Binary Tree Preorder Traversal
- [Leetcode 144, Medium] Binary Tree Preorder Traversal
- LeetCode(144) Binary Tree Preorder Traversal
- 【LeetCode】(144)Binary Tree Preorder Traversal(Easy)
- Leetcode #144 Binary Tree Preorder Traversal
- leetcode: (144) Binary Tree Preorder Traversal
- leetCode #144 Binary Tree Preorder Traversal
- [数学学习4]函数的特性、反函数、复合函数
- 12、opencv配置
- mac清洁专家cleanmymac中文版教程
- nmake使用以及windows上makefile编写
- iOS(Objective-C语法)面试、笔试题目
- LeetCode 144: Binary Tree Preorder Traversal
- 设计模式之代理模式
- SQL Server支持的连接查询实现算法
- xcode4的环境变量,Build Settings参数,workspace及联编设置
- 提交multipart/form-data类型数据
- LeetCode 94:Binary Tree Inorder Traversal(中序遍历)
- java map按key和value排序
- eclipse birt报表开发入门
- 如何测试Action