/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
int nums[1];
struct TreeNode* Traversing(struct TreeNode* root, int *returnSize, int k)
{
if(!root)
return NULL;
root->right = Traversing(root->right, returnSize, k);
if(k==++(*returnSize)){
nums[0] = root->val;
}
root->left = Traversing(root->left, returnSize, k);
return root;
}
int kthLargest(struct TreeNode* root, int k){
int returnSize = 0;
nums[0] = NULL;
struct TreeNode* p = Traversing(root, &returnSize, k);
return nums[0];
}