别被名字吓到:锯齿迭代器(Zigzag Iterator)其实是个“很人性”的算法

📅 发布时间:2026/7/9 5:36:08 👁️ 浏览次数:
别被名字吓到:锯齿迭代器(Zigzag Iterator)其实是个“很人性”的算法
别被名字吓到:锯齿迭代器(Zigzag Iterator)其实是个“很人性”的算法作者:Echo_Wish说实话,**Zigzag Iterator(锯齿迭代器)**这个名字,第一次看到的时候,真的挺唬人的。不少同学一听“锯齿”“迭代器”,脑子里立马浮现出:“这是不是某种高深的遍历技巧?”“是不是跟图算法、矩阵变换有关?”“我是不是又要被算法虐了?”但如果你真正写过一次,就会发现——这玩意儿一点都不玄学,甚至还有点“生活气息”。今天我想换一种方式,跟你聊聊 Zigzag Iterator:不背模板,不搞八股,就从**“人是怎么轮流做事的”**这个角度,一步步把它拆开。一、先别谈算法,我们先聊一个很真实的场景假设现在有三个人:A:有[1, 2, 3]B:有[4, 5]C:有[6, 7, 8, 9]规则很简单:大家轮流说一个数字,谁先没了就跳过。那最终顺序是什么?1 → 4 → 6 → 2 → 5 → 7 → 3 → 8 → 9/