牛客题霸 NC11 将升序数组转化为平衡二叉搜索树

Posted Starzkg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客题霸 NC11 将升序数组转化为平衡二叉搜索树相关的知识,希望对你有一定的参考价值。

https://www.nowcoder.com/practice/7e5b00f94b254da599a9472fe5ab283d

解决方案

Go

func sortedArrayToBST(num []int) *TreeNode {
	// write code here
	return preOrder(num, 0, len(num)-1)
}

func preOrder(num []int, left, right int) *TreeNode {
	if left > right {
		return nil
	}
	mid := left + (right-left+1)/2
	root := &TreeNode{
		Val:   num[mid],
		Left:  preOrder(num, left, mid-1),
		Right: preOrder(num, mid+1, right)}
	return root
}

参考文章

以上是关于牛客题霸 NC11 将升序数组转化为平衡二叉搜索树的主要内容,如果未能解决你的问题,请参考以下文章

牛客题霸 NC12 重建二叉树

牛客题霸 NC9 二叉树中是否存在节点和为指定值的路径

牛客题霸 NC13 二叉树的最大深度

牛客题霸 NC8 二叉树根节点到叶子节点和为指定值的路径

牛客题霸 NC14 按之字形顺序打印二叉树

牛客题霸 NC6 二叉树的最大路径和