/**
- Definition for a binary tree node.
- struct TreeNode {
- int val;
- TreeNode *left;
- TreeNode *right;
- TreeNode(int x) : val(x), left(NULL), right(NULL) {}
- };
- /
class Solution {
public:
int kthSmallest(TreeNode* root, int k) {int res = 0; int cur = 0; mid_order(root ,cur ,res ,k); return res;
}void mid_order(TreeNode *node ,int &cur ,int &res ,int k) //形参的引用 { if(node) { mid_order(node->left ,cur ,res ,k); cur++; if(cur == k) { res = node->val; return; //返回值为void类型 } mid_order(node->right ,cur ,res ,k); } }
};