给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 链接 https://leetcode cn.com/problems/remove nth node from end of list/ 凑数吧 ...
分类:
其他好文 时间:
2020-01-02 22:54:45
阅读次数:
131
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 1 class Solution: 2 def deleteDuplication(self, pHead): 3 ...
分类:
编程语言 时间:
2020-01-01 18:40:39
阅读次数:
67
题目描述 解题描述 public ListNode deleteDuplication(ListNode pHead) { if(pHead == null || pHead.next == null) { return pHead; } ListNode next = pHead.next; if ...
分类:
其他好文 时间:
2019-12-29 14:58:19
阅读次数:
44
解题思路 如果该节点不是尾结点,那么可以直接将下一个节点的值赋给该节点,然后该节点指向下下个节点,再删除下一个节点,时间复杂度为O(1)。 否则,就需要先遍历链表,找到节点的前一个节点,然后让前一个节点指向null,时间复杂度为O(N)。综上,如果进行N次操作,那么大约需要操作节点的次数为N-1+N ...
分类:
其他好文 时间:
2019-12-29 14:45:50
阅读次数:
76
删除单向链表中的某个节点 链表的节点删除 在删除链表的节点步骤如下: 1.找到被删除节点的前面一个节点 2.将前面节点的next节点改成下一个节点 3.将被删除节点的内存释放 接下来我们来考虑一道leetcode题: 237. Delete Node in a Linked List Write a ...
分类:
其他好文 时间:
2019-12-28 18:59:12
阅读次数:
123
题目: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 分析: 递归思路,如果当前结点和它的next结点的val值不同,则当前结点可以直接接到已处理完的结点后,继续删除重复的 ...
分类:
编程语言 时间:
2019-12-28 09:42:15
阅读次数:
74
剑指offer-18-2. 删除链表中重复的结点链表在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5思路:采用递归的方法查找从头节点开始重复的节点如果没有重复节点,pHead.... ...
分类:
其他好文 时间:
2019-12-26 00:04:53
阅读次数:
86
非递归的代码: 1. 首先添加一个头节点,以方便碰到第一个,第二个节点就相同的情况 2.设置 pre ,last 指针, pre指针指向当前确定不重复的那个节点,而last指针相当于工作指针,一直往后面搜索。 public class ListNode { int val; ListNode nex ...
分类:
编程语言 时间:
2019-12-23 22:11:09
阅读次数:
110
??本次部分没有带题目,因为链表系列的题目有的非常直观,从名字中就能知道到底需要做什么。 21. 合并两个有序链表 203. 移除链表元素 206. 反转链表 24. 两两交换链表中的节点 19. 删除链表的倒数第N个节点 876. 链表的中间结点 ...
分类:
其他好文 时间:
2019-12-21 09:55:48
阅读次数:
67
描述 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5.说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 解析 用三指针,fas ...
分类:
其他好文 时间:
2019-12-19 21:28:23
阅读次数:
75