leecode第二百三十题(二叉搜索树中第K小的元素)
Posted cjt-blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leecode第二百三十题(二叉搜索树中第K小的元素)相关的知识,希望对你有一定的参考价值。
/** * 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 k_time; int temp; void kth_min(TreeNode* root) { if(root->left!=NULL)//不停找左节点 kth_min(root->left); if(k_time>0)//查看k减少到0没 k_time--; else return; if(k_time==0)//如果为0,把当前节点赋给temp temp=root->val; if(root->right!=NULL) kth_min(root->right); } int kthSmallest(TreeNode* root, int k) { k_time=k; kth_min(root); return temp; } };
分析:
中序进行一半,找到k值就返回。
以上是关于leecode第二百三十题(二叉搜索树中第K小的元素)的主要内容,如果未能解决你的问题,请参考以下文章