LeetCode-144-Binary Tree Preorder Traversal
阿新 • • 發佈:2019-02-06
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