labuladong日常刷题-双指针 | LeetCode 83删除排序链表中的重复元素 5最长回文子串

双指针操作链表与字符串

LeetCode 83 删除排序链表中的重复元素 2023.12.28

  • 题目链接
  • labuladong讲解[链接]
    在这里插入图片描述
ListNode* deleteDuplicates(ListNode* head) {/*暴力求解ListNode* cur = new ListNode();ListNode* prenode = cur;cur->next = head;cur = cur->next;while(cur && cur->next){if(cur->val == cur->next->val){if(cur->next->next)cur->next = cur->next->next;elsecur->next = NULL;}elsecur = cur->next;}return prenode->next;*///双指针求解//左右指针初始化均指向头节点,用右指针来遍历,左指针来存储ListNode* left = head;ListNode* right = head;//当右指针且右指针的next指针不为空时while(right && right->next){//如果右指针与右指针的next节点值相同,//则如果右指针next节点的next节点存在时,左指针的next节点=右指针next节点的next节点,然后继续遍历//否则如果右指针next节点的next节点不存在时,说明走到头了,则给左指针的next节点指向NULLif(right->val == right->next->val){if(right->next->next)left->next = right->next->next;elseleft->next = NULL;}//如果右指针与右指针的next节点值不相同,那么左右指针都继续遍历//实际上,左右指针都是保持同步的else{right = right->next;left = left->next;}}//返回头指针return head;
}

LeetCode 5 最长回文子串 2023.12.28

  • 题目链接
  • labuladong讲解[链接]
    在这里插入图片描述
class Solution {public://求s字符串中的回文串,以l,r为中间两值的(奇数个字符时l=r为最中间的字符)string Palindrome(string s, int l, int r){//当左侧索引>=0,右侧索引<s.size()且s[l]=s[r]时//l--;r++;最终退出时说明s[l+1, r-1]为回文串while(l >= 0 && r < s.size() && s[l] == s[r]){l--;r++;}//返回s[l+1, r-1]回文串return s.substr(l+1, r-l-1);}string longestPalindrome(string s) {/*暴力求解string longstr;for(int i = 0; i < s.size(); i++){for(int j = i; j < s.size(); j++){int sym = 0;for(int k = i; k <= (i+j)/2; k++){if(s[k] != s[j-(k-i)]){sym = 1;break;}   }if(sym == 0 && j-i+1>longstr.size())longstr = s.substr(i, j-i+1);}}   return longstr;*///双指针求解//定义longstr变量存储遍历得到的最长回文串string longstr;//遍历每个以(i,i)、(i, i+1)为中心的s字符串的;将最长回文串存到longstr中for(int i = 0; i < s.size(); i++){string s1 = Palindrome(s, i, i);string s2 = Palindrome(s, i, i+1);longstr = longstr.size() < s1.size() ? s1 : longstr;longstr = longstr.size() < s2.size() ? s2 : longstr;}return longstr;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/305920.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实习知识整理12:点击购物车渲染出购物车中的商品并实现在购物车界面对商品价格和数量的相关操作

1. 点击购物车渲染出购物车商品界面 通过userId从购物车表中查找商品的相关信息 前端&#xff1a;需要向后端传递userId 后端&#xff1a; CartMapper.java CartMapper.xml CartService.java 接口 CartServiceImpl.java 实现类 CartController.java cartIndex.html页面 …

使用自带密钥 (BYOK) 的Azure信息保护云退出

上篇我们讲了使用Microsoft托管密钥的Azure信息保护云退出&#xff0c;本文我们将介绍使用自带密钥 (BYOK) 的Azure信息保护云退出。 自带密钥 (BYOK) 由客户在 nCipher HSM 中创建&#xff0c;并安全地传输到基于 HSM 的 Azure Key Vault&#xff0c;供 AIP 使用。 由于 Micro…

【产品评测】戴尔G15 5510笔记本电脑拆机实拍

笔者最近入手了一台戴尔G15 5510笔记本电脑&#xff0c;第一时间将其初步拆解&#xff0c;了解其内部设计、构造和扩展性。 一、机身总览 1、屏幕和键盘 2、A面 略粗糙的手感。 3、D面 D面共有8颗螺丝&#xff0c;其中4颗&#xff08;上有保护膜&#xff09;为戴尔家比较常见…

创建型设计模式 - 抽象工厂模式 - JAVA

创建型设计模式 - 抽象工厂设计模式 一. 简介二. 列子2.1 定义电脑的抽象类和子类2.2 定义抽象工厂类和其实现类2.3 测试 三. 抽象工厂设计模式的好处四. 抽象工厂模式的案例 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接下来还会持续…

实时交通标志检测和分类(代码)

交通标志检测和分类技术是一种基于计算机视觉和深度学习的先进技术&#xff0c;能够识别道路上的各种交通标志&#xff0c;并对其进行分类和识别。这项技术在智能交通系统、自动驾驶汽车和交通安全管理领域具有重要的应用前景。下面我将结合实时交通标志检测和分类的重要性、技…

Java技术栈 —— Redis的雪崩、穿透与击穿

Java技术栈 —— Redis的雪崩、穿透与击穿 〇、实验的先导条件&#xff08;NginxJmeter&#xff09;一、Redis缓存雪崩、缓存穿透、缓存击穿1.1 雪崩1.2 穿透1.3 击穿 二、Redis应用场景——高并发2.1 单机部署的高并发问题与解决&#xff08;JVM级别锁&#xff09;2.2 集群部署…

简述Redis备份策略以及对应的实现机制

引言 Redis作为高性能的内存数据库&#xff0c;数据的安全性至关重要。一旦数据丢失&#xff0c;可能会对业务造成重大影响。因此&#xff0c;备份Redis数据是每个Redis使用者都必须考虑的问题。本文将介绍Redis的备份策略以及对应的实现机制。 一、备份策略 1.1 定期备份 …

【零基础入门VUE】VueJS - 实例

✍面向读者&#xff1a;所有人 ✍所属专栏&#xff1a;零基础入门VUE专栏https://blog.csdn.net/arthas777/category_12537076.html 目录 句法 vue_instance.js 输出 例子 输出 实施例1 实施例2 例子 例子 要开始使用 VueJS&#xff0c;我们需要创建 Vue 实例&#xf…

神经网络常用模型总结

本文目录&#xff1a; 【一】目标检测中IOU的相关概念与计算【二】目标检测中NMS的相关概念与计算【三】One-stage目标检测与Two-stage目标检测的区别&#xff1f;【四】哪些方法可以提升小目标检测的效果&#xff1f;【五】ResNet模型的特点以及解决的问题&#xff1f;【六】R…

【C语言】数据结构——排序(一)

&#x1f497;个人主页&#x1f497; ⭐个人专栏——数据结构学习⭐ &#x1f4ab;点击关注&#x1f929;一起学习C语言&#x1f4af;&#x1f4ab; 目录 导读&#xff1a;数组打印与交换1. 插入排序1.1 直接插入排序1.1.1 基本思想1.1.2 实现代码1.1.3 图解 1.2 希尔排序1.2.1…

刺猬目标检测数据集VOC格式500张

刺猬是一种可爱的小型哺乳动物&#xff0c;被广泛分布在欧洲、亚洲、非洲和新西兰等地的草地、森林、灌木丛以及城市郊区等地方。刺猬的身体被短而密的刺毛所覆盖&#xff0c;这些刺毛是其最具特征性的外观特征&#xff0c;也是为了自我保护而设计的武器。 刺猬主要以昆虫、蠕…

手机/平板实现电脑第三屏-记录极简

软件&#xff1a; 手机 平板 : moonlight 电脑&#xff1a; 1 KtzeAbyss/Easy-Virtual-Display 2 Parsec Virtual Display Driver https://builds.parsec.app/vdd/parsec-vdd-0.38.0.0.exe 3 LizardByte/Sunshine: Self-hosted game stream host for Moonlight. (gith…