把二叉樹打印成多行
從上到下按層打印二叉樹,同一層結點從左至右輸出。每一層輸出一行。
func Print(root *TreeNode) [][]int { if root == nil { return [][]int{} } queue := []*TreeNode{root} res := [][]int{} for len(queue) != 0 { curRes := []int{} newQueue := []*TreeNode{} for _, node := range queue { curRes = append(curRes, node.Val) if node.Left != nil { newQueue = append(newQueue, node.Left) } if node.Right != nil { newQueue = append(newQueue, node.Right) } } res = append(res, curRes) queue = newQueue } return res }