0
点赞
收藏
分享

微信扫一扫

二叉搜索树中第K小的元素

E_topia 2022-06-04 阅读 59

二叉搜索树中第K小的元素_赋值

对于我这样的小渣渣,一开始看题目,嗯我懂了,看例题我就懵了,这个是什么意思,稍微偷瞄了一下别人的代码,才懵懵懂懂,所有贴出来好以后自己复习

void traverse(struct TreeNode* root, int k,int* mid,int* rank){ 

     if(root==NULL)    {        return;    } 

     traverse(root->left, k,mid,rank);//遍历左子树

     *rank+=1;    

     if(k==*rank)//执行的趟数和 k 相同就赋值并退出

     {        

             *mid=root->val;

              return;

    }

    traverse(root->right, k,mid,rank);//遍历右子树

}

int kthSmallest(struct TreeNode* root, int k)

{    

int mid=0,rank=0; 

      traverse(root,k,&mid,&rank); 

     printf("mid=%d",mid);

     return mid;

}

举报

相关推荐

0 条评论