题解 | #第k轻的牛牛#

第k轻的牛牛

https://www.nowcoder.com/practice/d3b31f055b1640d9b10de0a6f2b8e6f3?tpId=354&tqId=10591747&ru=/exam/oj/ta&qru=/ta/interview-202-top/question-ranking&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D354

知识点:

二叉搜索树的中序遍历

解题思路:

二次搜索树的中序遍历是一个递增序列,我们只需要在中序位置判断当前节点是否是第k个即可。

语言:

Golang

package main
import . "nc_tools"
/*
 * type TreeNode struct {
 *   Val int
 *   Left *TreeNode
 *   Right *TreeNode
 * }
 */

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param root TreeNode类 
 * @param k int整型 
 * @return int整型
*/
func kthLighest( root *TreeNode ,  k int ) int {
    // write code here
    ans:=0
    count:=0
    var dfs func(root *TreeNode,k int)
    dfs=func(root *TreeNode,k int){
        if root == nil{
            return
        }
        dfs(root.Left,k)
        count++
        if count == k{
            ans = root.Val
            return
        }
        dfs(root.Right,k)
    }
    dfs(root,k)
    return ans
}

全部评论

相关推荐

点赞 评论 收藏
分享
04-17 10:16
门头沟学院 Java
小浪_coder:24届很难找了,马上25的都毕业了还有很多没找到的
点赞 评论 收藏
分享
05-23 20:31
已编辑
武汉大学 Java
内向的柠檬精在研究求职打法:注意把武大标粗标大 本地你俩不是乱杀
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务