摘要:
算法基础~链表~链表求环解法二,快慢指针法【数学思路】 1,链表成环图解 2,常识:两个速度不一的物体在环形跑道一定可以相遇。 3,先假设快的物体速度是慢的物体的两倍。 过程:一开始 fast=slow=head; 快慢指针都在 1 这个结点上 第一次移动:fast->3, slow->2; 第二次 阅读全文
摘要:
算法基础~链表~链表求环解法一,借助set集合 1,成环的链表的图解: 2,从图解,我们得知,下个结点指向的结点先前已经遍历过(存在过了)则成环,找到环的起点~ 解释一下why使用到工具set集合? because 要找到遍历过的结点它身上没有任何标志,是需要从第一个结点开始循环遍历到它身上的【所以 阅读全文
摘要:
算法基础~链表~求两个链表的交点( 时间复杂度O(n)、空间复杂度O(1)) 1,接着上一篇的优化思路:https://www.cnblogs.com/shan333/p/15033376.html 2,还记得上篇中说到: “【为什么要以其中一条链为参照链? because:链表的长度不一, 例如图 阅读全文
摘要:
算法基础~链表~求两个链表的交点(不考虑时间、空间复杂度) ✿ 1、求交点结点~思路:找到同一个结点,指针指向的同一个结点地址相同,(地址在内存分配上具有唯一特性) 可以使用工具 set集合,因为唯一性+遍历结束的null只有一个 (唯一性)就是set的特性。 ● 2、使用set集合原因:无序,不允 阅读全文
摘要:
算法基础~链表~从位置m到n逆序 1,基础知识:“标志地点”,标志地点前需要先到达地点处!~一般是沿着“已知地点(即有指针指明,例如头指针所指)”慢慢循环移动到达目的地。 2,直接上代码,再解释: public class Solution { public: ListNode* reverseBe 阅读全文