当前位置: 首页 > news >正文

Golang | Leetcode Golang题解之第109题有序链表转换二叉搜索树

题目:

题解:

var globalHead *ListNode

func sortedListToBST(head *ListNode) *TreeNode {
    globalHead = head
    length := getLength(head)
    return buildTree(0, length - 1)
}

func getLength(head *ListNode) int {
    ret := 0
    for ; head != nil; head = head.Next {
        ret++
    }
    return ret
}

func buildTree(left, right int) *TreeNode {
    if left > right {
        return nil
    }
    mid := (left + right + 1) / 2
    root := &TreeNode{}
    root.Left = buildTree(left, mid - 1)
    root.Val = globalHead.Val
    globalHead = globalHead.Next
    root.Right = buildTree(mid + 1, right)
    return root
}

相关文章:

  • 层次式架构设计理论与实践
  • 初学C语言100题:经典例题节选(源码分享)
  • Moto和Inter字节序
  • 【讲解下Web前端三大主流的框架】
  • 2024爆款神器!会声会影2024旗舰版,让你的视频制作技能暴涨,不学真的亏大了!
  • 中国科技期刊卓越行动计划重点期刊
  • 推导2维镜像变换(Reflection Transform)的公式
  • 数据集007:垃圾分类数据集(含数据集下载链接)
  • 宝塔部署纯Vue项目,无后端
  • 文献分享《Microbiome and cancer》
  • 在 Visual Studio Code(VS Code)中调试 .NET Core 程序详细步骤
  • markdown画时序图的时候,如何自动显示每一条时序的序号
  • 服务器端口转发,服务器端口转发的作用、好处与坏处
  • Divisibility Part2(整除理论2)
  • PY32F002A单片机 us 延时,非常惊讶
  • 宿舍管理系统代码详解(操作界面)
  • 代码随想录算法训练营第四十一天|509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
  • 消费增值:国家支持的消费新零售模型
  • linux 查看csv文件,按指定列聚合 排序
  • Unity面试八股文之基础篇
  • 成都世运会倒计时100天,中国代表团运动员规模将创新高
  • 伊朗港口爆炸死亡人数升至70人
  • 葡萄牙、西班牙突发大范围停电,交通和通信服务受到严重影响
  • “上海-日喀则”直飞航线正式通航,将于5月1日开启首航
  • 报告显示2024年全球军费开支增幅达冷战后最大
  • 独家丨申万宏源研究所将迎来新所长:首席策略分析师王胜升任