Leetcode 103: 二叉树的锯齿形层序遍历
问题描述:
给定一个二叉树,返回其节点值的锯齿形层序遍历(即第一层从左到右,第二层从右到左,第三层从左到右,依此类推)。
适合面试的解法:广度优先搜索 + 双端队列
解法特点:
- 广度优先搜索(BFS): 通过层序遍历按层处理节点,确保节点遍历的层次性。
- 双端队列(Deque): 通过双端队列控制节点值的加入顺序,实现锯齿形效果。
- 从左到右:直接将节点值加入队列的尾部。
- 从右到左:将节点值插入队列的头部。
- 用 BFS 控制每层的遍历顺序,用双端队列处理结果的锯齿形排序。
适合面试的原因:
- 时间复杂度 (O(n)),空间复杂度 (O(n)),效率高且易于实现。
- 展现了灵活的队列操作,是树和 BFS 综合应用的常见场景。
解法思路
核心步骤:
-
初始化:
- 使用队列