![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
文章平均质量分 62
yu765493558
民生各有所乐兮
展开
-
双指针问题
leet141环形链表 链表问题,这里安排两种方案。 由于建议O(1)内存,所以不能对每一个节点是否被遍历过进行储存,于是有了方法一。 方法一:遍历过的节点将内容改为(题目中提示说明了<= Node.val <=),只要遍历到,那么说明成环了。 缺点,会破坏链表内容。实际中可能用不到(如果先复制一遍链表那就消耗了O(n)内存了)。 方法二:双指针,同一个起点,慢指针每次前进1,快指针前进2,速度之差为1,如果产生循环,快指针必然追尾慢指针。 而且限制条件是快指针是否遍历到末.原创 2021-05-16 15:56:54 · 120 阅读 · 0 评论 -
Leet002两数相加
好久没有写过算法了,更久没有写过链表操作了。于是想个办法督促自己学习,每周最少两更吧,聊胜于无。 这个题目只需要遍历两个链表,相加存入result,超过10则让result的下一个节点事先+1. 涉及到以下几个要注意的点 1.增加数字时,应该用res.next = new ListNode(sum + l1.val + l2.val) 先开辟空间,再赋给.next 2."超过10则让result的下一个节点事先+1"这种方法,在试验之后,发现比较麻烦,不好处理,改成用变量sum记录下是否需要进位..原创 2021-05-16 00:13:17 · 94 阅读 · 2 评论