题解 | #不同的二叉搜索树(二)#

不同的二叉搜索树(二)

https://www.nowcoder.com/practice/0082df531c4147408a72caf9ab167c8f

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

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param n int整型 
 * @return TreeNode类一维数组
*/
func BSTgenerate( n int ) []*TreeNode {
    arr:=make([]int,n)
    for i,_:=range arr{
        arr[i]=i+1
    }
    var order func([]int)[]*TreeNode
    order=func(arr []int)[]*TreeNode{
        if len(arr)==0{
            return []*TreeNode{nil}
        }
        if len(arr)==1{
            return []*TreeNode{&TreeNode{Val:arr[0]}}
        }
        ans:=[]*TreeNode{}
        for i,x:=range arr{
            l:=order(arr[:i])
            r:=order(arr[i+1:])
            for _,p:=range l{
                for _,q:=range r{
                    ans=append(ans,&TreeNode{x,p,q})
                }
            }
        }
        return ans
    }
    return order(arr)
}

全部评论

相关推荐

01-01 23:38
门头沟学院 Java
杭州同花顺 后端开发 1.5n左右
想当offer收割机的肖恩很爱刷美剧:现在这个环境,狠狠赚钱才是实际的,1是银行的子公司,技术很老,现在银行都在大规模降薪这种科技子公司肯定也在逐渐降薪,而且你也不好跳槽;2虽然钱比1多,但是各种福利待遇基本全无,加班时间可能跟1差不多,但是后续跳槽会比1好;3是大平台,而且钱确实给的很够,发展前景就不用看了,现在这个环境技术发展前景并不一定就好,非技术并不一定就差。个人认为3>2>1
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务