博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编程题—leetcode54:二叉搜索树的第k大节点
阅读量:2441 次
发布时间:2019-05-10

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

题目描述
给定一棵二叉搜索树,请找出其中第k大的节点。 示例 1:输入: root = [3,1,4,null,2], k = 1   3  / \ 1   4  \   2输出: 4示例 2:输入: root = [5,3,6,2,4,null,null,1], k = 3       5      /  \     3    6    / \   2   4  / 1输出: 4 限制:1 ≤ k ≤ 二叉搜索树元素个数来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-di-kda-jie-dian-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题目分析
1、本题的坑点在于第K大,它的意思就是遍历树的时候按照右根左的顺序进行遍历2、设置一个全局变量count,将其值置为k,进行递减,等到减为1的时候就为目标
通过代码
/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */class Solution {
int count=0; int res=0; public int kthLargest(TreeNode root, int k) {
count=k; find(root); return res; } public void find(TreeNode root){
if (root!=null){
find(root.right); if (count==1) {
if (res!=0) return; res=root.val; return ; } count--; find(root.left); }else return; }}
你可能感兴趣的文章
利用C语言小程序来解决大问题(转)
查看>>
简单方法在C#中取得汉字的拼音的首字母(转)
查看>>
.NET开发之中的17种正则表达式小结(转)
查看>>
编程秘籍:使C语言高效的四大绝招(转)
查看>>
配置XDM--一种Linux的图形登录界面(转)
查看>>
计算机加锁 把U盘变成打开电脑的钥匙(转)
查看>>
C#开发的两个基本编程原则的深入讨论(转)
查看>>
Fedora Core 4 基础教程 (上传完毕)(转)
查看>>
删除MSSQL危险存储过程的代码(转)
查看>>
红旗软件:树立国际的Linux品牌(转)
查看>>
Linux学习要点(转)
查看>>
影响mysqld安全的几个选项(转)
查看>>
最新版本Linux Flash 9 Beta开放发布(转)
查看>>
mysql事务处理(转)
查看>>
Fedora 显示设备配置工具介绍(转)
查看>>
FREEBSD 升级及优化全攻略(转)
查看>>
系统移民须知:Linux操作系统安装要点(转)
查看>>
在redhat系统中使用LVM(转)
查看>>
Gentoo 2005.1 完整的USE参数清单中文详解(转)
查看>>
如何在嵌入式Linux产品中做立体、覆盖产品生命期的调试 (5)
查看>>