上一页 1 2 3 4 5 6 7 8 9 10 ··· 15 下一页
摘要: 方法一:递归 解题思路 递归法,假设后续链表已经完成交换,此时只需要对前两个节点进行交换,然后再连接上后续已交换的链表即可。 代码 /** * Definition for singly-linked list. * public class ListNode { * public int val; 阅读全文
posted @ 2020-11-21 16:07 大杂草 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 方法一:递归 解题思路 通过递归法,每次判断目前头节点与给定的节点是否相等。如是,继续判断下一个节点,否则保存当前头节点,设置 next 指向下次递归得到的节点,然后返回当前节点。 代码 /** * Definition for singly-linked list. * public class 阅读全文
posted @ 2020-11-21 16:00 大杂草 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 解题思路 使用递归实现: 定义函数功能:合并两个有序链表,并返回链表的头 结束条件:两个链表其中一个为空,返回另一个链表 递推公式: l1.val < l2.val:l1.next = MergeTwoLists(l1.next, l2) l1.val >= l2.val:l2.next = Mer 阅读全文
posted @ 2020-11-21 15:23 大杂草 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 方法一:迭代 解题思路 遍历过程,同时反转,这里需要一个指针 pre 要保存前一个节点。 代码 /** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode 阅读全文
posted @ 2020-11-21 09:13 大杂草 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 解题思路 将链表分为三部分:[0, m)、[m, n]、(n, L],其中 L 为链表长度。 第一步:使用虚拟头节点 dummy,用于将 head 也能参与操作; 第二步:找到第 m-1 节点(firstHalfEnd),用于连接反转后的第二部分链表; 第三步:遍历[m, n],进行链表反转。注意在 阅读全文
posted @ 2020-11-20 23:44 大杂草 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 解题思路 三指针,一个指向前半部分待插入位置,一个指向后半部分待插入位置,最后一个从前往后遍历 代码 /** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListN 阅读全文
posted @ 2020-11-20 22:59 大杂草 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 解题思路 双指针:第一个指针先走 n 步,然后两个指针同时走。 这里要注意当链表长度<=n,要删除头节点。 代码 /** * Definition for singly-linked list. * public class ListNode { * public int val; * public 阅读全文
posted @ 2020-11-20 22:37 大杂草 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 解题思路 使用快慢指针。这里要注意的是,while 的条件会影响当中间节点有两个时,slow 指向的是第一个,还是第二个节点。 // 返回的是第一个 while(fast.next != null && fast.next.next != null) // 返回的是第二个 while(fast != 阅读全文
posted @ 2020-11-20 22:25 大杂草 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 解题思路 找到后半部分链表,再反转。然后与前半部分链表比较 代码 /** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public 阅读全文
posted @ 2020-11-20 22:18 大杂草 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 方法一:双指针 解题思路 假设链表存在相交时,headA 的长度为 a + c,headB 的长度为 b + c。如果把 headA 连上 headB,headB 连上 headB 的话,当遍历这两个新链表时有: \[ (a + c) + (b + c) = (b + c) + (a + c) \] 阅读全文
posted @ 2020-11-20 16:57 大杂草 阅读(197) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 15 下一页