博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【刷算法】二叉搜索树的第k个结点
阅读量:5890 次
发布时间:2019-06-19

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

题目描述

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

分析

二叉搜索树的特点就是对于某个点来说,左子树上的点小于该点,右子树上的点大于该点。所以按照中序遍历的方法得到的序列即是从小到大的序列。

代码

/* function TreeNode(x) {    this.val = x;    this.left = null;    this.right = null;} */function KthNode(r, k){    if(r === null)        return null;    var res = [];    var s = [];    var cur = r;        while(cur !== null || s.length !== 0) {        if(cur !== null){            s.push(cur);            cur = cur.left;        }else{            cur = s.pop();            res.push(cur);            if(res.length === k)                return res.pop();            cur = cur.right;        }    }        return null;}

转载地址:http://elfsx.baihongyu.com/

你可能感兴趣的文章
浏览器访问jsp页面
查看>>
ASP.NET视频教程 手把手教你做企业论坛网站 视频教程
查看>>
PIE SDK辐射定标
查看>>
GO:格式化代码
查看>>
[LeetCode] Meeting Rooms II
查看>>
20165211 2017-2018-2 《Java程序设计》第5周学习总结
查看>>
模型分离(选做)
查看>>
vim 更改注释颜色
查看>>
Apache/Tomcat/JBOSS/Nginx区别
查看>>
POJ3648:Wedding——题解(配2-SAT简易讲解)
查看>>
[BZOJ3399] [Usaco2009 Mar]Sand Castle城堡(排序)
查看>>
第五届金梧奖移动广告创意节暨移动营销峰会2019(上海)
查看>>
价值观作业
查看>>
Objective-C中的Strong、Copy与MutableCopy
查看>>
TurnipBit-MicroPython开发板:跟孩子一起DIY跳动的心
查看>>
数独个人项目
查看>>
区间统计【美团18.09.06校招笔试】
查看>>
得到某实例下所有的表空间创建语句
查看>>
CDQ分治
查看>>
Unity 物理引擎动力学关节
查看>>