144. Binary Tree Preorder Traversal

来源:互联网 发布:工业控制网络视频 编辑:程序博客网 时间:2024/06/15 20:59

144. Binary Tree Preorder Traversal

问题:
先序遍历二叉树

思路:
先根节点,左子树,然后右子树。使用堆栈存储

code:

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    vector<int> preorderTraversal(TreeNode* root) {        vector<int> list;        TreeNode* p = root;        stack<TreeNode*> st;        while (p || !st.empty()) {            if (p) {                st.push(p);                list.push_back(p->val);                p = p->left;            } else {                p = st.top();                st.pop();                p = p->right;            }        }        return list;    }};
原创粉丝点击