用棧來存,先跑到最左邊,然後再依次出棧去找右邊
vector<int> inorderTraversal(TreeNode* root) {
vector<int> res;
stack<TreeNode*> s;
TreeNode *p = root;
while (!s.empty() || p) {
while (p) {
s.push(p);
p = p->left;
}
TreeNode *temp = s.top();
res.push_back(temp->val);
s.pop();
p = temp->right;
}
return res;
}