Binary Tree Preorder Traversal
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?
根据返回值,没考虑用递归方法做,采用非递归方法,关于二叉树的各种访问方法,见博客:
http://blog.youkuaiyun.com/sjf0115/article/details/8645991
vector<int> postorderTraversal(TreeNode *root) {
vector<int> t;
stack<TreeNode*> s;
TreeNode *tree = root;
while (tree !=NULL || !s.empty()){
if (tree != NULL){
t.push_back(tree->val);
s.push(tree);
tree = tree->left;
}
else{
tree = s.top();
s.pop();
tree = tree->right;
}
}
return t;
}
二叉树前序遍历非递归实现

本文介绍了一种不使用递归的方法来完成二叉树节点的前序遍历,并提供了详细的实现代码。该方法通过利用栈结构实现了非递归的前序遍历过程。

368

被折叠的 条评论
为什么被折叠?



