中序遍历
int kthSmallest(TreeNode* root, int k) {
stack<TreeNode*> st;
TreeNode* cur = root;
st.push(cur);
cur = cur->left;
while (!st.empty()||cur) {
while (cur) {
st.push(cur);
cur = cur->left;
}
cur = st.top();
st.pop();
k--;
if (k == 0)
return cur->val;
cur = cur->right;
}
}