习题11 8 单链表结点删除 (20分) 本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下: 函数接口定义: 函数 从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到?1时表示输入结束,函数应返回指向单链表头结点的指针。 函数 将单链 ...
分类:
其他好文 时间:
2020-03-01 21:56:41
阅读次数:
201
19. 删除链表的倒数第N个节点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实 ...
分类:
其他好文 时间:
2020-02-28 12:13:52
阅读次数:
63
题意:删除链表中倒数第N个节点。 法一:递归。每次统计当前链表长度,如果等于N,则return head -> next,即删除倒数第N个节点;否则的话,问题转化为子问题“对head->next这个链表删除倒数第N个节点”,将head的next指针指向该子问题的结果,返回head即可。这个方法时间复 ...
分类:
其他好文 时间:
2020-02-22 22:27:08
阅读次数:
72
"LeetCode题解汇总(持续更新,并将逐步迁移到本博客列表中)" 剑指Offer 数据结构 链表 序号 | 题目 | 难度 | | 06 | "从尾到头打印链表" | 简单 18 | "删除链表的节点" | 简单 22 | "链表中倒数第k个节点" | 简单 二叉树 序号 | 题目 | 难度 | ...
分类:
其他好文 时间:
2020-02-20 22:16:17
阅读次数:
161
题目 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。 返回删除后的链表的头节点。 注意 :此题对比原题有改动 示例 1: 示例 2: 说明: 题目保证链表中节点的值互不相同 若使用 C 或 C++ 语言,你不需要 free 或 delete 被删除的节点 思路 为了简化删除头节 ...
分类:
其他好文 时间:
2020-02-20 20:08:19
阅读次数:
65
题意 删除链表的倒数第$n$个结点,返回链表的头结点。 思路 想法1:一趟扫描确定表长,第二趟删除第 个元素。时间复杂度:$O(n)$。 想法2:题目中问能否尝试使用一次扫描实现,思考一下。用两个指针就可以了,当前面的指针指向第$n$个元素时,后面的指针开始移动,这样他俩之间始终差$n$个元素,前面 ...
分类:
其他好文 时间:
2020-02-19 21:16:05
阅读次数:
98
数据结构相关基础~~~ (1)数字求和运算 (2)在链表的开头和结尾添加元素 (3)获取链表的第一个和最后一个元素 (4)删除链表中的元素 (5)获取链表的元素 (6)获取向量元素的索引值 (7)栈的实现 (8)链表元素查找 (9)压栈出栈的方法实现字符串反转 (10)队列的用法 (11)获取向量的 ...
分类:
其他好文 时间:
2020-02-16 14:55:48
阅读次数:
78
1. 原题链接:https://leetcode.com/problems/remove duplicates from sorted list/ 2. 解题思路 1. 删除链表节点会涉及到两个指针:prev指针和cur指针 3. 算法 1. prev指针和cur指针分别指向前两个节点 2. 从cu ...
分类:
其他好文 时间:
2020-02-15 15:24:21
阅读次数:
78
可能会把头结点删掉的问题,都会定义一个虚拟头节点 p:上一次保留节点的最后一个位置q:下一段的第一个节点,用来把下一段全部扫描结束 ,只要相同q就一直向后走。p到q为一段 本次用来3个节点,一个虚拟节点,另外的p、q用来遍历是否存在重复节点。 /** * Definition for singly- ...
分类:
其他好文 时间:
2020-02-13 17:31:16
阅读次数:
74
遍历链表出错 节点结构: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; ...
分类:
其他好文 时间:
2020-02-12 00:29:33
阅读次数:
58