Hot 100 --- 从前序与中序遍历序列构造二叉树
本文以LeetCode题目"从前序与中序遍历序列构造二叉树"为例,详细讲解如何把"分治构造"的想法转化为递归代码,重点说明递归的出口和参数传递
Hot 100 --- 二叉树展开为链表
本文以LeetCode题目"二叉树展开为链表"为例,讲解如何原地将二叉树按先序遍历展开为链表,通过"左子树最右节点接右子树"的迭代技巧实现O(1)空间
Hot 100 --- 二叉树的右视图
本文以LeetCode题目"二叉树的右视图"为例,讲解为什么DFS局部思考会踩坑,以及如何用BFS层序遍历取每层最后一个节点得到右视图
Hot 100 --- 二叉搜索树中第K小的元素
本文以LeetCode题目"二叉搜索树中第K小的元素"为例,讲解如何利用BST中序遍历递增的性质,通过全局计数器在遍历过程中找到第K小的元素
一把 Redis 分布式锁,踩透四个坑:锁争抢、僵尸锁、锁过期、锁丢失
Java 的 synchronized 和 ReentrantLock 只能锁住单个 JVM,多节点部署下会完全失效。本文从"为什么需要分布式锁"切入,按"问题 → 解决 → 引出新问题 → 再解决"的思路,讲清楚 Redis 分布式锁要解决的四大核心问题:锁争抢、僵尸锁、锁过期、锁高可用,以及对应的 SET NX EX、TTL 兜底、看门狗、UUID+Lua、RedLock 方案。
Hot 100 --- 验证二叉搜索树
本文以LeetCode题目"验证二叉搜索树"为例,讲解BST的核心性质和两种验证方法:中序遍历(判断递增)和递归上下限传递,重点详解递归中上下限的传递关系
将有序数组转换为二叉搜索树:分治递归的优雅实践
一道经典的二叉树构建题,将有序数组转换为平衡二叉搜索树的分治递归解法详解
Redis key 过期了就一定会被删吗?讲透过期删除与内存淘汰策略
Redis 的 key 设置了过期时间真的会到期就删吗?内存满了又要淘汰谁?本文从过期字典讲起,系统讲清三种过期删除策略(惰性、定时、定期)及 Redis 的组合方案,再过渡到 8 种内存淘汰策略,最后深入 LRU 近似实现与 LFU 的概率递增、时间衰减机制。
Redis 高可用的最后一公里:Cluster 分片、Gossip 与故障转移全流程
主从+哨兵解决了高可用,但解决不了容量瓶颈。本文从数据分片出发,讲清楚 Redis Cluster 如何通过哈希槽分片、MOVED/ASK 重定向实现不停机扩容,如何通过 Gossip 协议完成去中心化通信,以及如何实现故障转移。
Hot 100 --- 二叉树的层序遍历
本文以LeetCode题目"二叉树的层序遍历"为例,详细讲解BFS(广度优先搜索)的原理和实现,重点说明为什么用队列、队列如何保证层序、以及如何按层分组输出





