https://leetcode-cn.com/problems/binary-tree-inorder-traversal/submissions/
OK,模拟一下递归的过程,使用两个stack写一下。
class Solution {
public:
vector<int> inorderTraversal(TreeNode* root) {
vector<int> r;
stack<TreeNode*>extend;
stack<int> val;
while(root || extend.size()>0){
while(root){
extend.push(root->right);
val.push(root->val);
root = root->left;
}
r.push_back(val.top());
val.pop();
root = extend.top();
extend.pop();
}
return r;
}
};