我是靠谱客的博主 包容诺言,最近开发中收集的这篇文章主要介绍剑指Offer JZ62 二叉搜索树的第k个结点(JavaScript),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:482786
本题知识点: 树

题目描述
给定一棵二叉搜索树,请找出其中的第k小的TreeNode结点。
示例1
输入
{5,3,7,2,4,6,8},3
返回值
{4}
说明
按结点数值大小顺序第三小结点的值为4

思路:中序遍历得到从小到大排序的数组,读取第k-1个即可

/* function TreeNode(x) {
    this.val = x;
    this.left = null;
    this.right = null;
} */
function KthNode(pRoot, k) {
    let arr = []
    dfs(pRoot, arr)
    return arr[k - 1]
}

function dfs(root, arr) {
    if (!root) return null
    if (root.left) dfs(root.left, arr)
    arr.push(root)
    if (root.right) dfs(root.right, arr)
}

最后

以上就是包容诺言为你收集整理的剑指Offer JZ62 二叉搜索树的第k个结点(JavaScript)的全部内容,希望文章能够帮你解决剑指Offer JZ62 二叉搜索树的第k个结点(JavaScript)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部