美文网首页
145. Binary Tree Postorder Trave

145. Binary Tree Postorder Trave

作者: juexin | 来源:发表于2017-01-09 19:14 被阅读0次

    Given a binary tree, return the postorder traversal of its nodes' values.
    For example:Given binary tree {1,#,2,3},

       1
        \
         2
        /
       3
    

    return [3,2,1].
    Note: Recursive solution is trivial, could you do it iteratively?

    class Solution {
    public:
        vector<int> postorderTraversal(TreeNode* root) {
            vector<int> path;
            TreeNode* p = NULL;
            if(root == NULL)
              return path;
            stack<TreeNode*> s;
            s.push(root);
            while(!s.empty())
            {
                p = s.top();
                path.push_back(p->val);
                s.pop();
                if(p->left)
                  s.push(p->left);
                if(p->right)
                  s.push(p->right);
            }
            reverse(path.begin(),path.end());
            return path;
        }
    };
    

    相关文章

      网友评论

          本文标题:145. Binary Tree Postorder Trave

          本文链接:https://www.haomeiwen.com/subject/mpphbttx.html