package main import . "nc_tools" /* * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return bool布尔型 */ func isCompleteTree( root *TreeNode ) bool { if root == nil { return true } level := make([]*TreeNode, 0) level = append(level, root) //第一次遇到nil节点 conNil := false for len(level) != 0 { size := len(level) tmp := make([]*TreeNode, 0) for i := 0; i < size; i++ { curr := level[0] level = level[1:] if curr == nil { conNil = true continue } if conNil { return false } tmp = append(tmp, curr.Left) tmp = append(tmp, curr.Right) } level = tmp } return true }