/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ class Solution { public: /** * * @param root TreeNode类 * @return int整型vector */ vector<int> inorderTraversal(TreeNode* root) { // write code here vector<int> res; if(!root) return res; stack<TreeNode*> st; TreeNode *p = root; while(!st.empty()||p) { while(p) { st.push(p); p=p->left; } if(!st.empty()) { TreeNode *node = st.top(); st.pop(); res.push_back(node->val); p=node->right; } } return res; } };