1. 程式人生 > >LeetCode-144-Binary Tree Preorder Traversal

LeetCode-144-Binary Tree Preorder Traversal

urn top you tco 遞歸 back push pty 思路

算法描述:

Given a binary tree, return the preorder traversal of its nodes‘ values.

Example:

Input: [1,null,2,3]
   1
         2
    /
   3

Output: [1,2,3]

Follow up: Recursive solution is trivial, could you do it iteratively?

解題思路:先根非遞歸遍歷。

    vector<int> preorderTraversal(TreeNode* root) {
        vector
<int> results; stack<TreeNode*> stk; while(root!=nullptr || !stk.empty()){ while(root!=nullptr){ stk.push(root); results.push_back(root->val); root=root->left; } TreeNode* temp = stk.top(); stk.pop();
if(temp->right!=nullptr) root = temp->right; } return results; }

LeetCode-144-Binary Tree Preorder Traversal