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

leetcode_680 验证回文串

1. 题意

在最多去掉一个字符的情况下,判断一个字符串是否是回文串。

2. 题解

双指针
两个指针i j分别指向字符串开头和结尾,如果相同则同时向中间移动;如果不同则判断剩下的字符串,去掉头或者去掉尾能否成一回文串。

	i = 0
	j = sz - 1
while  i < j:
	if s[i] == s[j]
		i++,j--;
	else 
		return isPalindrome(s, i+1,j) || isPalindrome(s,i,j-1);

return true;
  • C++
class Solution {
public:
    bool check(const string &s, int i, int j) {
        while (i < j) {
            if (s[i] != s[j])
                return false;
            i++,j--;
        }
        return true;
    }

    bool validPalindrome(string s) {
        int sz = s.size();
        
        int i = 0;
        int j = sz - 1;
        while (i < j) {
            if (s[i] != s[j])
                break;
            i++;
            j--;
        }
        if (i >= j)
            return true;
        return check(s, i, j - 1) || check(s, i + 1, j);
    }
    // abbda
    //abcdca
    // acac
};

http://www.kler.cn/a/534433.html

相关文章:

  • Sentinel的安装和做限流的使用
  • Qt展厅播放器/多媒体播放器/中控播放器/帧同步播放器/硬解播放器/监控播放器
  • C#结合html2canvas生成切割图片并导出到PDF
  • QT:对象树
  • 【Git】一、初识Git Git基本操作详解
  • 传输层协议——TCP协议
  • 除了淘宝开放平台的 API,还有哪些方式可以获取淘宝商品详情信息数据?
  • Android 13.0 系统默认手势导航时设置导航栏高度为1dp功能实现
  • DeepSeek R1技术报告关键解析(7/10):多阶段训练策略,如何优化 AI 的推理能力
  • 【自学笔记】Agent的重点知识点-持续更新
  • AI大模型:DeepSeek
  • Linux跨平台编译StrongSwan Windows版
  • 深度学习篇---计算机视觉任务模型的剪裁、量化、蒸馏
  • Java面试题集合篇5:10道基础面试题
  • C++ RTTI
  • 如何利用i18n实现国际化
  • nginx日志查询top10
  • 代码随想录算法训练营打卡第56天
  • leetcode:LCR 179. 查找总价格为目标值的两个商品(python3解法)
  • ES6 const 使用总结
  • 美团-测试开发面试
  • DeepSeek推理模型架构以及DeepSeek爆火的原因
  • Vue 3 30天精进之旅:Day 15 - 插件和指令
  • 【spring容器管理】bean的生命周期有哪些拓展点?
  • 个人毕业设计--基于HarmonyOS的旅行助手APP的设计与实现(挖坑)
  • Java程序员 面试如何介绍项目经验?