本文介绍了如何用双指针法高效解决相交链表问题。该方法通过让两个指针交替遍历两个链表,利用数学原理(总路程相等)找到相交节点或确认无交点。时间复杂度为O(m+n),空间复杂度为O(1),避免了哈希表等额外空间开销。核心思路是当指针遍历完当前链表后转向另一链表继续遍历,最终会在相交点相遇或同时到达null。该解法简洁高效,是解决此类问题的经典方案。
本文讲解删除单链表倒数第n个节点的问题,介绍用哑节点统一边界处理,通过双指针一次遍历定位目标节点的方法,附Java实现及复杂度分析,是双指针法经典应用。
本文讲解单链表两两交换相邻节点问题,介绍用虚拟头节点统一处理逻辑的解法,包含核心三步交换指针步骤、Java实现及复杂度分析,解决头节点特殊处理痛点。
本文介绍了反转单链表的题目要求,提供了Java实现的迭代法代码,并详细解析了算法步骤:初始化指针、遍历反转(包括暂存后继节点)、返回新头节点,强调了指针操作的关键点。
本文讲解了数组相关的常见算法题,包括二分查找、移除元素、有序数组平方等,涵盖多种解题技巧。