链表
Popuessing's Jersey
这个作者很懒,什么都没留下…
展开
-
142、环形链表||
题意: 给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。 为了表示给定链表中的环,使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 进阶挑战:不允许修改给定的链表。 方法:快慢指针(双指针) public class Huanxinglianbiao2 { public ListNode detectCycle(ListNode head){ //设置快慢指针 ..原创 2021-11-20 16:58:57 · 133 阅读 · 0 评论 -
链表相交(链表)
题目: 给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。 思路:将链表尾部对齐,寻找从某个位置到尾部相同的部分 public class Lianbiaoxiangjiao { public ListNode getIntersectionNode(ListNode headA,ListNode headB){ List原创 2021-11-20 16:56:26 · 240 阅读 · 0 评论 -
19、删除链表的倒数第N个节点(链表)
题目:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 进阶:你能尝试使用一趟扫描实现吗? public class ShanchulianbiaodedaoshudiNgejiedian { public ListNode removeNthfromEnd(ListNode head,int n){ ListNode dummy = new ListNode(0); dummy.next = head; ListNode le原创 2021-11-18 22:14:52 · 326 阅读 · 0 评论 -
24、两两交换链表中的节点(链表)
题目: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 public class Liangliangjiaohuanlianbiaozhongdejiedian { static class ListNode{ int val;//数据:节点的数据 ListNode next;//对象:节点的对象 ListNode(int val){ thi原创 2021-11-18 21:25:49 · 97 阅读 · 0 评论 -
206、反转链表(链表)
题意:反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL public class Fanzhuanlianbiao { static class ListNode{ int val;//数据:节点数据 ListNode next;//对象,引用下一个数据对象 //链表类的构造方法 ListNode(原创 2021-11-18 20:30:51 · 122 阅读 · 0 评论 -
707、设计链表(链表)
题目: 在链表类中实现这些功能: get(index):获取链表中第index个节点的值。如果索引无效,则返回-1。 addAtHead(val):在链表的第一个元素之前添加一个值为val的节点。插入后,新节点将成为链表的第一个节点。 addAtTail(val):将值为val 的节点追加到链表的最后一个元素。 addAtIndex(index,val):在链表中的第index个节点之前添加值为val 的节点。如果index等于链表的长度,则该节点将附加到链表的末尾。如果 i...原创 2021-11-18 19:58:31 · 337 阅读 · 0 评论 -
203、移出链表元素(链表)
题意:删除链表中等于给定值 val 的所有节点。 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 示例 2: 输入:head = [], val = 1 输出:[] 示例 3: 输入:head = [7,7,7,7], val = 7 输出:[] 方法一:使用哨兵节点 public class Yichulianbiaoyuansu { static class ListNode<E>{ List原创 2021-11-17 21:40:03 · 365 阅读 · 0 评论 -
定义链表(链表)
public class ListNode { int val; //数据:节点数据 ListNode next; //对象:引用下一个节点对象, //添加构造方法 ListNode(int val){//构造方法:构造方法和类名相同 this.val = val; //把接收到的参数赋值给当前类的val变量 } } ...原创 2021-11-17 20:02:50 · 1500 阅读 · 0 评论