• LeetCode(230):二叉树中的第K小元素


    题目描述

    image-20201108113401766

    解题思路

    二叉搜索树的性质是:左子节点<根节点<右子节点

    利用这个性质,我们可以通过中序遍历,将节点从小到大推入数组中

    当数组长度大于k时,停止遍历,直接返回数组的尾部元素即可

    代码实现(Javascript)

    /**
     * @param {TreeNode} root
     * @param {number} k
     * @return {number}
     */
    var kthSmallest = function(root, k) {
        if(!root.left && !root.right){
            return root.val
        }
    
        let res = new Array()
        const inorder=function(node){
            if(!node){
                return null
            }
            inorder(node.left)
            
            if(res.length < k){
                res.push(node.val)
            }else{
                return
            }
            inorder(node.right)
        }
        inorder(root)
    
        return res[res.length-1]
    }
    
  • 相关阅读:
    Transformer详解
    PAT 1012
    PAT 1011
    PAT 1010
    Jordan Lecture Note-3: 梯度投影法
    PAT 1009
    PAT 1008
    Jordan Lecture Note-2: Maximal Margin Classifier
    PAT 1007
    PAT 1006
  • 原文地址:https://www.cnblogs.com/baebae996/p/13943791.html
Copyright © 2020-2023  润新知