请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
思路:
使用栈先进后出的特点。
使用两个栈,一个栈(stack1)存需要打印单数行的数据,一个(stack2)存需要打印偶数行的数据。让根节点入stack1,在stack1和stack2不空的情况下,进行循环。stack1中节点出栈的时候,从左向右将自己的子节点加入到stack2,并打印自己的值。 stack2中的节点出栈的时候,将自己的子节点从右向左加入到stack1,并打印自己的值。