您的位置:首页 > 其它

LeetCode: Binary Tree Postorder Traversal

2014-07-04 15:26 169 查看
思路:非递归先序遍历二叉树算法,每次压栈时需要访问当前节点。

code:

class Solution {
public:
vector<int> preorderTraversal(TreeNode *root) {
vector<int> ret;
if(root != NULL){
stack<TreeNode *> s;
TreeNode * p = root;
s.push(p);
ret.push_back(p->val);
while(!s.empty()){
while(p->left != NULL){
p = p->left;
ret.push_back(p->val);
s.push(p);
}
TreeNode * temp = s.top();
s.pop();
if(temp->right != NULL){
p = temp -> right;
ret.push_back(p->val);
s.push(p);
}
}
}
return ret;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: