zoukankan      html  css  js  c++  java
  • 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]
    }
    
  • 相关阅读:
    Python
    Python
    Python
    Python
    Python
    Python
    Python
    python
    对象
    py常用模块
  • 原文地址:https://www.cnblogs.com/baebae996/p/13943791.html
Copyright © 2011-2022 走看看