class Solution { public: vector<int> inorderTraversal(TreeNode* root) { vector<int> ret; if(!root) return ret; stack<TreeNode*> s; while(!s.empty() || root!=nullptr) { if(root){ s.push(root); root = root->left; }else{ ret.push_back(s.top()->val); root = s.top()->right; s.pop(); } } return ret; } };