问一个有关单链表的题,只改动了一句话,结果就报错,不明白为什么,谢谢!!!
class Solution {
public:
ListNode *deleteDuplicates(ListNode *head) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if (head == NULL)
return head;
ListNode* cur = head;
ListNode* pre = head->next;
ListNode* del = NULL;
while(pre != NULL)
{
if (cur->val == pre->val)
{
del = pre;
pre = pre->next; // 把这一行和下一行合并成 cur->next = pre->next 为什么就不对呢??
cur->next = pre; //
delete del;
}
else
{
cur = cur->next;
pre = pre->next;
}
}
return head;
}
}; 把这一行和下一行合并成(注释处) cur->next = pre->next 为什么就不对呢??谢谢
相关推荐
单链表删除所有值为key的删除操作
#include<iostream>#include<cstdlib>using namespace std; typedef struct node{ node *next; int data;}*List; void init(List *L){ *L=new node; (*L)->next=NULL;}// void DeleteList...
Python单链表从零实现:插入、删除、反转与合并实战
在数据结构中,数组依靠连续内存实现快速随机访问,却在频繁插入和删除时面临高额搬移成本。链表则以节点和指针/引用的方式打破连续存储限制,通过调整相邻节点的连接关系,让头部插入和删除达到O(1)效率。理解指针和对象引用的差异是掌握链表的核心——Python中的每个变量保存的是对象引用,修改next属性才会真实改变结构。LRU缓存、进程队列、内存管理等工程场景都依赖这一基础结构。本文从节点定义出发,用Python完整实现单链表的遍历、头尾插入、按值查找、指定位置删除、逆序反转,以及两个升序链表的归并操作,详解每一
循环单链表详解:从原理到约瑟夫环与进程调度
在计算机科学中,数据结构是组织与存储数据的基石,链表因其动态内存分配与高效的插入删除能力,成为基础且重要的线性结构。循环单链表作为链表的变体,通过将尾节点指针指向头节点,构建出首尾相接的环形逻辑,彻底解决了普通链表遍历到末尾无法回头的局限。其核心原理在于利用指针域形成闭环,并借助哨兵头节点与尾指针设计,使头部插入、尾部操作均能达到常数级时间复杂度。这种结构天然适配轮转访问场景,从经典的约瑟夫环问题,到操作系统的时间片轮转调度,再到音频播放器的循环列表,都展现出独特的工程价值。理解循环单链表的初始化、遍历终止
JEP30-PX100A PartModel Product Guidelines for Electronic-Device Substrates and Assemblies – XML Requ
JEP30-PX100A PartModel Product Guidelines for Electronic-Device Substrates and Assemblies – XML Requirements
基于Matlab的自动睡眠粒状结构检测算法,从脑电信号中进行。.zip
1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。


