32,从上往下打印字符号串2
这道题比上一题稍微复杂的是需要每一层每一层的返回,所以我们得注意每一层有多少个数。也就是说当新起两个变量,一个变量记录当前个数,一个变量记录下一次的个数,一次循环当前个数-1,假如有左节点,下一层个数+1,假如有右节点,下一层个数加1,当当前个数为0时,说明已经把这一层数完了,则把结果添加到结果res数组中,然后设置当前层个数为下一层的总个数,下一层个数清0.这里要注意的是,清除tmp数组时不能tmp = tmp[0:0],我刚刚这样做出现了莫名其妙的错误,而应该tmp = []int{}
代码如下: