首页 > 其他 > 详细

230. Kth Smallest Element in a BST

时间:2017-12-19 21:46:28      阅读:208      评论:0      收藏:0      [点我收藏+]

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

原文:http://www.cnblogs.com/Zzz-y/p/8067812.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!