题目

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)
}

站点统计

  • 文章总数:315 篇
  • 分类总数:20 个
  • 标签总数:193 个
  • 运行天数:1156 天
  • 访问总数:40446 人次

浙公网安备33011302000604

辽ICP备20003309号