230. Kth Smallest Element in a BST

Posted Zzz...y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了230. Kth Smallest Element in a BST相关的知识,希望对你有一定的参考价值。

Given a binary search tree, write a function kthSmallest to find the kth smallest element in it.

找二叉搜索树中第k个小的值。

用中序遍历,增加一个全局变量记录访问到第几个节点,返回访问的第k个节点的值。

 1 class Solution {
 2 private:
 3     int cnt;
 4     int ans;
 5 public:
 6     int ldr(TreeNode* root, int k) {
 7         if (root) {
 8             ans = ldr(root->left, k);
 9             if (k==cnt)
10                 return ans;
11             ans = root->val;
12             ++cnt;
13             if (k==cnt)
14                 return ans;
15             ans = ldr(root->right, k);
16             if (k==cnt)
17                 return ans;
18         }  
19         return 0;
20     }
21     int kthSmallest(TreeNode* root, int k) {
22         cnt = 0;
23         ans = 0;
24         ldr(root, k);
25         return ans;
26     }

 

以上是关于230. Kth Smallest Element in a BST的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode 230. Kth Smallest Element in a BST

Leetcode 230. Kth Smallest Element in a BST

230. Kth Smallest Element in a BST

230.Kth Smallest Element in a BST

230. Kth Smallest Element in a BST

230.Kth Smallest Element in a BST