题目描述
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
/*
思路:打印第一层结点的时候要把第二层结点保存到一个容器里,由于打印第二层结点的顺序是从右至左,容器为后进先出,故容器为栈
打印第一层时,依次把第一层的左子结点和右子结点保存到栈中;打印第二层结点时要把第三层结点保存到栈中,由于第三层打印顺序为从左到右,
故保存到容器中的顺序为先右结点后左结点,和第一层是不一样,因此我们需要两个栈来分别保存奇数层和偶数层结点
*/
struct TreeNode {
int val;
struct TreeNode