[LeetCode] 144. Binary Tree Preorder Traversal

来源:互联网 发布:域名交易 贴吧 编辑:程序博客网 时间:2024/05/22 03:47

Given a binary tree, return the preorder traversal of its nodes’ values.
Note: Recursive solution is trivial, could you do it iteratively?

class Solution {public:    vector<int> preorderTraversal(TreeNode* root) {        vector<int> pre;        stack<TreeNode *> stk;        TreeNode *ptn = root;        while (!stk.empty() || ptn) {            if (ptn) {                pre.push_back(ptn->val);                stk.push(ptn);                ptn = ptn->left;            } else {                ptn = stk.top();                stk.pop();                ptn = ptn->right;            }        }        return pre;    }};

这里写图片描述
这里写图片描述