题目描述
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
原理
这道题的基本思路就是层次遍历,只不过要进行每隔一层翻转一下;
即可按照层序遍历的方法,加入一个标记,每次对其进行判断,是否对当前列进行翻转即可
代码实现
1 | struct TreeNode |
例子
输入为
1 | {8,6,10,5,7,9,11} |
输出为
1 | [[8],[10,6],[5,7,9,11]] |
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
这道题的基本思路就是层次遍历,只不过要进行每隔一层翻转一下;
即可按照层序遍历的方法,加入一个标记,每次对其进行判断,是否对当前列进行翻转即可
1 | struct TreeNode |
输入为
1 | {8,6,10,5,7,9,11} |
输出为
1 | [[8],[10,6],[5,7,9,11]] |
微信支付
支付宝