普通的二叉树遍历,就是前序、中序和后序。现在要分层遍历,需要一个变量保存一下节点的层数或距离。解法中是用函数参数保存的,并且用了递归来查找特定的层数。不过这样重复遍历很多次。
后面给出的解法用了一个数组保存每层节点下一层的节点,然后遍历下一层再保存下下一层的节点,直到最后。这也是这个问题的技巧所在吧。
对于扩展问题,把数字看成一个栈,保存了每层的指针后就可以输出了。
普通的二叉树遍历,就是前序、中序和后序。现在要分层遍历,需要一个变量保存一下节点的层数或距离。解法中是用函数参数保存的,并且用了递归来查找特定的层数。不过这样重复遍历很多次。
后面给出的解法用了一个数组保存每层节点下一层的节点,然后遍历下一层再保存下下一层的节点,直到最后。这也是这个问题的技巧所在吧。
对于扩展问题,把数字看成一个栈,保存了每层的指针后就可以输出了。