Kth Smallest Element in a BST

遍历节点存入vector,之后排序,再取出相应的节点数据就可以了。
class Solution {
public:
int kthSmallest(TreeNode* root, int k)
{
vector<int>l;
preorderTraversal(root, l);
sort(l.begin(),l.end());
return l[k-1];
}
void preorderTraversal(TreeNode* root, vector<int> &l)
{
if (root != NULL) {
l.push_back(root->val);
preorderTraversal(root->left, l);
preorderTraversal(root->right, l);
}
}
};

浙公网安备 33010602011771号