二叉树中序遍历
class Solution {
public:
vector<int> inorderTraversal(TreeNode* root) {
vector<int> res;
stack<TreeNode*> st;
fillStack(root, st);
while (!st.empty()) {
root = st.top();
st.pop();
res.push_back(root->val);
fillStack(root->right, st);
}
return res;
}
private:
void fillStack(TreeNode* node, stack<TreeNode*> &st) {
for (; node; node = node->left)
st.push(node);
}
};