java二叉树的几种遍历递归与非递归实现代码
依次下去,弹出0加入List,入栈1,null,此时Stack从栈底到栈顶为8,4,1,null,List为6,2,0,弹出null为空继续弹出1,如此下去就可以了…Discuss中有人给出了一个”巧“的方法,即先采用类似先序遍历,先遍历根结点再右孩子最后左孩子,最后把遍历的序列逆转即得到了后序遍历层序遍历也即宽度优先搜索,一层一层搜索,非递归代码如下:
依次下去,弹出0加入List,入栈1,null,此时Stack从栈底到栈顶为8,4,1,null,List为6,2,0,弹出null为空继续弹出1,如此下去就可以了…Discuss中有人给出了一个”巧“的方法,即先采用类似先序遍历,先遍历根结点再右孩子最后左孩子,最后把遍历的序列逆转即得到了后序遍历层序遍历也即宽度优先搜索,一层一层搜索,非递归代码如下: