当前位置: 首页 > wzjs >正文

垂直门户网站建设英雄联盟更新公告最新

垂直门户网站建设,英雄联盟更新公告最新,双十一电商网络营销是什么,连云港优化推广目录 一、题目二、思路2.1 解题思路2.2 代码尝试2.3 疑难问题2.4 AI复盘 三、解法四、收获4.1 心得4.2 举一反三 一、题目 二、思路 2.1 解题思路 应对第一个示例,就是遇到不同就跳过,遇到相同就删除。如果直接删除当前节点的话,就找不到前面…

目录

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

一、题目


在这里插入图片描述

二、思路


2.1 解题思路

应对第一个示例,就是遇到不同就跳过,遇到相同就删除。如果直接删除当前节点的话,就找不到前面一个节点,无法前一个节点next到当前的下一个节点。所以引入了一个pre来存储前一个节点。
第二个示例和第三个示例,因为可能上来就遇到空链表或者是全是相同于所给值的链表,那就需要对头指针进行判断了,先来一个while循环遍历到合适的头指针位置,不相同才开始执行第一套流程

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* removeElements(ListNode* head, int val) {while(head){if(head->val==val){head=head->next;}else{break;}}// 创建一个哑节点,指向头指针ListNode* dummy=new ListNode(0);dummy->next=head;ListNode* p=head;ListNode* pre=dummy;while(p){if(p->val==val){p=p->next;pre->next=p;}else{pre=p;p=p->next;}}return head;}
};

在这里插入图片描述

2.3 疑难问题

2.4 AI复盘

class Solution {
public:ListNode* removeElements(ListNode* head, int val) {// 创建一个哑节点,指向头指针ListNode* dummy = new ListNode(0);dummy->next = head;ListNode* pre = dummy;while (pre->next) {if (pre->next->val == val) {ListNode* temp = pre->next;pre->next = pre->next->next;delete temp; // 释放内存,避免内存泄漏} else {pre = pre->next;}}ListNode* newHead = dummy->next;delete dummy; // 释放哑节点的内存return newHead;}
};

原来的代码中,head 的处理和后续节点的处理是分开的,优化后的代码通过哑节点统一处理,减少了冗余代码。
从哑节点开始,每次判断哑节点的下一个节点是否与Val相同,这样就省去了原来代码第一个判断Head。

三、解法


class Solution {
public:ListNode* removeElements(ListNode* head, int val) {if (head == nullptr) {return head;}head->next = removeElements(head->next, val);return head->val == val ? head->next : head;}
};作者:力扣官方题解
链接:https://leetcode.cn/problems/remove-linked-list-elements/solutions/813358/yi-chu-lian-biao-yuan-su-by-leetcode-sol-654m/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

四、收获


4.1 心得

递归解法很优雅,冗余度小

4.2 举一反三

面向示例编程,然后不断迭代优化,满足更多的示例

http://www.dtcms.com/wzjs/53330.html

相关文章:

  • 领优惠券的网站怎么做网站排名推广工具
  • 石家庄网站建设今天改网名如何联系百度客服
  • 电商网站建设需求成都广告公司
  • 南翔镇网站建设公司郑州全域静态管理
  • 博州住房和城乡建设部网站网站推广优化技巧
  • 新网站建设代理商参考网是合法网站吗?
  • 织梦模板下载seo关键词优化怎么收费
  • 网站开发用户需求说明书平台推广策略都有哪些
  • app开发公司一个月可以赚多少钱seo运营学校
  • wordpress哪个编辑器好用郑州seo公司排名
  • 代刷网网站怎么做推广方案流程
  • 加若格网站做么样旺道seo推广
  • 网站 高清 标清如何做星巴克seo网络推广
  • wordpress 2 s外贸网站seo教程
  • 怎样让google收录网站关键词推广软件
  • 网站上传空间下一步关键词在线下载
  • 郑州做小程序的公司全网seo优化电话
  • 免费炫酷网站模板如何在百度上发布自己的文章
  • wordpress中图片集百度荤seo公司
  • 网站建设人员任职要求冯站长之家官网
  • 网站怎么做移动图片不显示不出来吗2021年关键词排名
  • wordpress的链接功能宁德seo培训
  • 找人做一个网站需要花多少钱谷歌seo营销
  • 怎么让网站快速被收录企业管理软件管理系统
  • 如何维护自己公司网站3小时百度收录新站方法
  • 徐州市做网站竞价关键词排名软件
  • 死链接对网站的影响微信小程序开发文档
  • 香港服务器网站推广厦门百度竞价
  • 网站运营 策划 推广 维护2023年7月疫情还会严重吗
  • 高端的镇江网站建设软文写作的技巧