当前位置: 首页 > news >正文

剑指Offer——二叉搜索树的第K个节点

1、题目描述

  给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8)    中,按结点数值大小顺序第三小结点的值为4。

2、代码实现

import java.util.ArrayList;
public class Solution {
    TreeNode KthNode(TreeNode pRoot, int k)
    {
         ArrayList<TreeNode> list = new ArrayList<>();
        if (pRoot == null || k <= 0) {
            return null;
        }
        //使用中序遍历就能使二叉排序树从小到大进行排序
        KthNode(pRoot, list);
         if (k > list.size()) {
            return null;
        }
        return list.get(k - 1);
    }
 private void KthNode(TreeNode pRoot, ArrayList<TreeNode> list) {
        if (pRoot == null) {
            return;
        }
        KthNode(pRoot.left, list);
        list.add(pRoot);
        KthNode(pRoot.right, list);
    }

}

  

转载于:https://www.cnblogs.com/BaoZiY/p/11187292.html

相关文章:

  • python 排序 桶排序
  • ubuntu之路——day7.2 regularization
  • 查看mysql数据库大小
  • Java程序员编程性能优化必备的34个小技巧
  • HTTP/1.1-HTTP/2.0-HTTP/3.0-HTTPS
  • DP总结
  • 全网最详细python3包管理工具教程-pip
  • nginx 配置简单的静态页面
  • Finer Resolution Observation and Monitoring -Global Land Cover更精细的分辨率观测和监测-全球土地覆盖...
  • boost.python编辑,以及c++api的python封装
  • 使用Docker搭建多人使用GPU服务器
  • Oracle优化
  • 成长中的十封独白(转载)
  • [白领栏目] 创造“我生命中的鼎盛之年”五大原则
  • tornado异步请求的理解(转)
  • @jsonView过滤属性
  • Android优雅地处理按钮重复点击
  • express如何解决request entity too large问题
  • markdown编辑器简评
  • php ci框架整合银盛支付
  • SpiderData 2019年2月23日 DApp数据排行榜
  • storm drpc实例
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • use Google search engine
  • Vue UI框架库开发介绍
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 京东美团研发面经
  • 三分钟教你同步 Visual Studio Code 设置
  • 通过调用文摘列表API获取文摘
  • ###项目技术发展史
  • (编译到47%失败)to be deleted
  • (初研) Sentence-embedding fine-tune notebook
  • (二)构建dubbo分布式平台-平台功能导图
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (强烈推荐)移动端音视频从零到上手(上)
  • (四)Linux Shell编程——输入输出重定向
  • (转)winform之ListView
  • (转载)利用webkit抓取动态网页和链接
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .net core 6 redis操作类
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET delegate 委托 、 Event 事件
  • .NET中GET与SET的用法
  • [ 手记 ] 关于tomcat开机启动设置问题
  • [2018][note]用于超快偏振开关和动态光束分裂的all-optical有源THz超表——
  • [AIGC codze] Kafka 的 rebalance 机制
  • [Android]使用Android打包Unity工程
  • [bzoj1912]异象石(set)
  • [BZOJ3211]:花神游历各国(小清新线段树)
  • [C#基础知识]专题十三:全面解析对象集合初始化器、匿名类型和隐式类型
  • [Interview]Java 面试宝典系列之 Java 多线程
  • [JavaEE] 线程与进程的区别详解
  • [LeetCode 127] - 单词梯(Word Ladder)
  • [NOSQL] Redis介绍
  • [Oh My C++ Diary]函数重载