题目

leetcode:108

代码与解析

这道题和https://blog.devilwst.top/2021/12/20/最大二叉树/很像。

这道题也是要先划分一下数组,
然后给根节点赋值。

func sortedArrayToBST(nums []int) *TreeNode{
    if len(nums)==0{
        return nil
    }
    var helper func(nums []int)*TreeNode
    helper = func(nums []int)*TreeNode{
        if len(nums)==0{
            return nil
        }
        // 划分数组,找根节点
        half := len(nums)/2
        // 根节点赋值
        root := &TreeNode{Val:nums[half]}
        // root.Left接受左子树
        root.Left = helper(nums[:half])
        // root.Right接受右子树
        root.Right = helper(nums[half+1:])
        return root
    }
    return helper(nums)
}


0 条评论

发表评论

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注

站点统计

  • 文章总数:304 篇
  • 分类总数:19 个
  • 标签总数:189 个
  • 运行天数:852 天
  • 访问总数:460476 人次
ICP备案号: 辽ICP备20003309号