Binary Tree Preorder Traversal

来源:互联网 发布:远程数据采集系统 编辑:程序博客网 时间:2024/06/10 17:41
class Solution {public:    vector<int> preorderTraversal(TreeNode* root) {        vector<int> result;        stack<TreeNode*> tmp;        TreeNode* pop_stack;                if(root ==NULL) return result;                tmp.push(root);        while(!tmp.empty())        {           pop_stack = tmp.top();           tmp.pop();           result.push_back(pop_stack->val);           if(pop_stack->right != NULL) tmp.push(pop_stack->right);           if(pop_stack->left != NULL) tmp.push(pop_stack->left);        }        return result;    }};


需要注意问题:

1. stack的几种操作:


(转自:http://blog.csdn.net/morewindows/article/details/6950881)

注意:

1. push是在栈顶增加元素

2. pop只弹出元素,并不返回元素;想要获得栈顶元素,需要使用top()函数。


2. 注意入栈顺序~~


0 0
原创粉丝点击