【LeetCode刷题】回文子串!!!常用方法小结:双指针||DP

【LeetCode相关题目】

5. 最长回文子串

647. 回文子串

问题需求:找到字符串s中所有的回文子串

有两种常用解法:

一、中心拓展法

中心拓展法即为双指针法:枚举每个可能的拓展中心,左右指针所指元素相同则拓展(左--,右++),否则停止,需要处理奇偶拓展中心的问题,用i遍历0到2n-2即可,li=i/2,ri=li+i%2。在i为偶数的情况下,回文串长度为奇数,li==ri,否则ri=li+1。

拓展条件:li>=0&&ri<=n-1&&s.charAt(li)==s.charAt(ri)(此处注意前一个条件不成立则不会往后验证,故将数组边界控制条件放在前面,s.charAt(li)放在后面,顺序反了会爆边界溢出的错误哦~)

以647.回文子串举例,统计所有子串数量,附上代码:

public int countSubstri
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值