参考答案
结论:使用BFS按层遍历二叉树,根据层数奇偶决定该层节点值的收集顺序实现蛇形(之字形)输出。核心要点:1) 用队列进行广度优先搜索,每层先记录队列大小size;2) 将当前层节点值取出放入临时列表,若当前层数为奇数(根层为0)则逆序加入结果,或直接使用双端队列在遍历时从前端或后端插入;3) 孩子节点按左到右顺序入队保证下层完整。原理:BFS保证层序访问,蛇形仅改变同层内顺序,不影响层级;双端队列可在O(1)内调整方向。时间复杂度O(n)遍历所有节点,空间O(n)队列与结果存储。示例:根(1)左(2)右(3),层0输出[1],层1输出[3,2]。