原地哈希——把数组本身当哈希表

LC41 要求 O(n) 时间 O(1) 空间找第一个缺失正整数,常规哈希表空间不够用。原地哈希的核心思路:数组本身就是一张哈希表,把每个数送回它该在的位置。

March 24, 2026 · KahanaT800

接雨水——五种解法,把每一步都想通

接雨水最难的不是写代码,而是证明双指针为什么对。本文用「历史轨迹」论证把双指针的正确性彻底钉死,再用单调栈换一个视角重新理解。

March 19, 2026 · KahanaT800

Morris 遍历——不用栈也能遍历二叉树

递归和栈都需要 O(h) 额外空间。Morris 遍历通过临时修改树结构,用 O(1) 空间完成前中后序遍历。每一步都画图讲清楚。

March 16, 2026 · KahanaT800

KMP 算法详解——从 next 数组的构建到回退的本质

用逐步模拟的方式把 KMP 算法讲透:next 数组到底在算什么,回退到底在干什么,为什么 i 不动。

March 12, 2026 · KahanaT800

快乐数——用 Floyd 判环算法把一道数学题变成链表题

快乐数的本质是判环问题。从「为什么一定成环」到「为什么快慢指针一定相遇」,把 Floyd 算法的直觉讲清楚。

March 12, 2026 · KahanaT800