思路:利用栈做辅助来写算法, 具体流程可见下图:帮助理解
class Solution {
public:
vector<int> inorderTraversal(TreeNode* root) {
vector<int> res;
stack<TreeNode*> s;
while(root||!s.empty()){
if(root){
s.push(root);
root=root->left;
}else{
root=s.top();
res.push_back(root->val);
s.pop();
root=root->right;
}
}
return res;
}
};