您的位置:首页 > 汽车 > 时评 > 武汉大学人民医院东院官网_工程公司会计账务处理_网络推广都是收费_seo优化几个关键词

武汉大学人民医院东院官网_工程公司会计账务处理_网络推广都是收费_seo优化几个关键词

2025/11/28 17:19:18 来源:https://blog.csdn.net/qq_43920838/article/details/146186870  浏览:    关键词:武汉大学人民医院东院官网_工程公司会计账务处理_网络推广都是收费_seo优化几个关键词
武汉大学人民医院东院官网_工程公司会计账务处理_网络推广都是收费_seo优化几个关键词

目录

  • 一、题目
  • 二、思路
    • 2.1 解题思路
    • 2.2 代码尝试
    • 2.3 疑难问题
    • 2.4 AI复盘
  • 三、解法
  • 四、收获
    • 4.1 心得
    • 4.2 举一反三

一、题目

在这里插入图片描述

二、思路

2.1 解题思路

2.2 代码尝试

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* deleteDuplicates(ListNode* head) {//先存储头结点ListNode* pre=head;pre->next=head;ListNode* p=head;ListNode* tem=head;//p节点用于遍历while(p->next!=nullptr){if(p->next!=p){p=p->next;}else{//temp来存储当前的值tem=p;while(p->next==p){p=p->next;}tem->next=p->next;}}return pre->next;}
};

2.3 疑难问题

2.4 AI复盘

你的代码有一些逻辑错误和冗余的部分。首先,pre->next=head 这一行是不必要的,因为 pre 已经指向 head,不需要再将其 next 指向 head。其次,你在删除重复节点时的逻辑也有问题,特别是 if(p->next!=p) 这一行,它没有正确判断节点值是否相等。

我们可以通过以下步骤来优化代码:

删除冗余代码:去掉不必要的 pre->next=head。

修正逻辑错误:正确判断节点值是否相等,并删除重复节点。

简化代码:使用更简洁的方式遍历链表并删除重复节点。

三、解法

class Solution {
public:ListNode* deleteDuplicates(ListNode* head) {if (!head) {return head;}ListNode* dummy = new ListNode(0, head);ListNode* cur = dummy;while (cur->next && cur->next->next) {if (cur->next->val == cur->next->next->val) {int x = cur->next->val;while (cur->next && cur->next->val == x) {cur->next = cur->next->next;}}else {cur = cur->next;}}return dummy->next;}
};作者:力扣官方题解
链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-list-ii/solutions/678122/shan-chu-pai-xu-lian-biao-zhong-de-zhong-oayn/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

四、收获

4.1 心得

用了一个int x来记录已经重复的值,这样能够把所有和该值重复的元素都删掉

4.2 举一反三

存储链表头
在这里插入图片描述
头上面是头发hair,这还挺好记的【狗头】
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com