博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode-230. Kth Smallest Element in a BST
阅读量:6289 次
发布时间:2019-06-22

本文共 1930 字,大约阅读时间需要 6 分钟。

Description:

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

Note: 

You may assume k is always valid, 1 ≤ k ≤ BST's total elements.

题意:从二叉查找树中找第k小的数。

思路:中序遍历,找到第k个便是。

C++:

class Solution {public:    int num=0;//记录次数int re;//记录最终结果//中序遍历的方法void digui(TreeNode* root, int k){    if(root->left!=NULL)        digui(root->left,k);    num++;    if(num==k)        re=root->val;    if(root->right!=NULL)        digui(root->right,k);    return;}    int kthSmallest(TreeNode* root, int k) {        digui(root,k);    return re;    }};

LeetCode很奇怪,同样的代码Java却过不了。。。还是1 null 2 ,2这个数据过不了,我自己测试的都能过。。。。

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public static int cnt = 0;    public static int ans;    public int kthSmallest(TreeNode root, int k) {        travels(root, k);        return ans;    }    public void travels(TreeNode node, int k) {        if(node.left != null)            travels(node.left, k);        cnt ++;        if(cnt == k) {            ans = node.val;        }        if(node.right != null)            travels(node.right, k);    }}

更新----------------

终于找到原因了,原来我用了静态变量,后台测试连续调用,结果不清零。。。

最终Java代码:

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public int cnt = 0;    public int ans;    public int kthSmallest(TreeNode root, int k) {        travels(root, k);        return ans;    }    public void travels(TreeNode node, int k) {        if(node == null)            return ;        travels(node.left, k);        cnt ++;        if(cnt == k) {            ans = node.val;            return ;        }        travels(node.right, k);    }}

 

转载于:https://www.cnblogs.com/wxisme/p/5202393.html

你可能感兴趣的文章
Kafka设计篇之消息传输的事务定义
查看>>
我的友情链接
查看>>
使用windows 7 系统安装盘 DOS普通用户提权为管理员
查看>>
老男孩教育每日一题第115天:如何在centos 6下面实现命令补全?效果如下
查看>>
国内可用的yum源
查看>>
linux df -h 命令卡住 解决方法
查看>>
spring是什么,Spring能帮我们做什么
查看>>
Codeforces 861D - Polycarp's phone book
查看>>
FreePortScanner.java
查看>>
HttpURLConnection 文件上传限制
查看>>
javascript类式继承新的尝试
查看>>
真正掌握vuex的使用方法(四)
查看>>
MySql的Communications link failure解决办法
查看>>
GB2312编码
查看>>
架构探险笔记2
查看>>
sparse bayesian model
查看>>
jQuery 无刷新评论
查看>>
Oracle临时表
查看>>
Linux下配置一个VNC服务器
查看>>
jquery-form 中文API
查看>>