![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链表
有关链表的题与思想
安洁莉娅丶
这个作者很懒,什么都没留下…
展开
-
剑指Offer:从尾到头打印链表(Java实现)
题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。法1:时间复杂度O(n)空间复杂度O(n)方法:创建栈/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }**/import java.util.*;pub原创 2020-12-07 10:04:12 · 94 阅读 · 0 评论 -
力扣工作周刷题 - 143. 重排链表
2020.10.20原题:点击此处要求把链表从:L1->L2->L3->…Ln的排序转变为L1->Ln->L2->Ln-1->…做这道题的时候真的立刻就想到了1、快慢指针找链表中间点(因为改变链表序列之后,原来排序的中点必定是后来排序的结尾。)题目2、链表反转(因为可以看出改变链表序列后,Ln是倒放的)题目后面做了很多次草稿之后发现昨晚上面那两部之后,就不知道怎么办了。查了题解发现是缺了链表合并这个步骤我没学过,通过这道题,学会了两个相同长度(原创 2020-10-20 16:02:34 · 155 阅读 · 0 评论 -
力扣工作周刷题 - 2. 两数相加
2020.10.18原题:点击此处(已经是第三次做这道题了,重新做回来,又有新的感受)本题难点:1、链表一长一短,很容易造成代码冗余。2、容易忽略掉最后一个进位。本题时间复杂度O(max(m,n))本题空间复杂度O(max(m,n))为了解决进位问题:分别用了两个来记录:sum用来记录两个链表当前位置之和(包括进位)result用来记录两个链表当前位置之后经过判断后应该放入结果链表的值(对sum进行余10运算)class Solution { public ListNode原创 2020-10-18 10:34:49 · 89 阅读 · 0 评论 -
力扣工作周刷题 - 19题 删除链表倒数第N个节点
2020.3.23力扣刷题日常,原题:点击此处考点:链表遍历,快慢指针题解:1.这道题是876题的升级版本,读者可以先做876题热身,也可以做完这题回去巩固快慢指针的知识。2.删除链表的倒数第 n 个节点,很明显,我们肯定想要的是一次遍历的方法,而不是二次遍历。3.思路一(我个人的思路):参照876题解法,快指针走n格,慢指针走n-1格,到最后快指针已经不能在走的时候,从慢指针的位置向...原创 2020-03-24 12:46:55 · 140 阅读 · 0 评论 -
力扣2020春季每日一题 -876题 链表的中间结点
2020年3月23日。题出处:点击此处考点:链表的遍历,快慢指针的运用。题解:1.本道题要求删除链表的中间节点。很明显,最暴力的解法就是二次遍历。时间复杂度为O(n),空间复杂度为O(1)这是只要学过链表的人,都应该掌握的。2.本道题应该学会的一种思想为快慢指针。即在链表中存在双指针,一快一慢。在这道题中快指针一次走两步,而慢指针一次走一步。为什么这样能work?因为当快指针...原创 2020-03-23 11:53:55 · 151 阅读 · 0 评论