层次遍历无法确定一棵二叉树。
假设遍历数组为:[1、2、3、4、5、6]
那么二叉树既可以是这样的
也可以是这样的
因此如果需要根据层次遍历数组来确定一棵二叉树,那么这个数组一定对应了一棵完全二叉树。
假定使用-1表示空节点,数组如下:[1、2、3、-1、4、5、-1、-1、-1、6]。
构造算法如下:
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
func createTreeFromLevelOrder(nums