LeetCode 680. Valid Palindrome II

Solution1:我的答案
复杂度是O(n)O(n)O(n),不算好啊。。
注意:对于c++中string对象常用的insert()和erase()操作,记录如下,摘抄自《C++ Primer (第五版)》P323

操作 说明
s.insert(pos, args) 在pos之前插入args指定的字符。pos可以是一个下标或一个迭代器。接受下标的版本返回一个指向s的引用;接受迭代器的版本返回指向第一个插入字符的迭代器。
s.erase(pos, args) 删除从位置pos开始的len个字符。如果len被省略,则删除从位置pos开始至s末尾的所有字符。返回一个指向s的引用
class Solution {
public:bool validPalindrome(string s) {int n = s.size();if (n <= 2) return true;int i = 0, j = n - 1;while (i < j) {if (s[i] == s[j]) {i++;j--;}else {string s1 = s;//执行完一个删除操作后,原字符串会改变return (my_validPalin(s.erase(i, 1)) || my_validPalin(s1.erase(j, 1)));}}return true;}bool my_validPalin(string &s) {int n = s.size();if (n <= 1) return true;int i = 0, j = n - 1;while (i < j) {if (s[i] == s[j]) {i++;j--;}elsereturn false;}return true;}
};

【回文串14】LeetCode 680. Valid Palindrome II相关推荐

  1. 680. Valid Palindrome II

    Title 给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca&quo ...

  2. C#LeetCode刷题之#125-验证回文串(Valid Palindrome)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3899 访问. 给定一个字符串,验证它是否是回文串,只考虑字母和数 ...

  3. 【回文串3】LeetCode 125. Valid Palindrome

    LeetCode 125. Valid Palindrome Solution1:我的答案 复杂度为O(n)O(n)O(n),写法不是很简练啊. class Solution { public:boo ...

  4. LeetCode Palindrome Partitioning(dfs +回文串 )

    问题:给出一个字符串,输出回文串,使得拼接后为原来的字符串 思路:先通过动态规划得到所有的回文串,然后使用深度优先搜索得到所有的解 具体代码参考: https://github.com/wuli249 ...

  5. 【细节实现 回文串12】LeetCode 564. Find the Closest Palindrome

    LeetCode 564. Find the Closest Palindrome 本博客转载自:http://www.cnblogs.com/grandyang/p/6915355.html Sol ...

  6. 【To Understand!回文串8 哈希表】LeetCode 336. Palindrome Pairs

    LeetCode 336. Palindrome Pairs Solution1:我的答案 最笨的方法,果然因为时间复杂度太高而无法AC-- 难怪是hard 只是记录一下-- class Soluti ...

  7. 【回文串7】LeetCode 234. Palindrome Linked List

    LeetCode 234. Palindrome Linked List Solution1:我的答案 一遍过,哈哈哈! /*** Definition for singly-linked list. ...

  8. 【To Understand! 回文串6 KMP算法】LeetCode 214. Shortest Palindrome

    LeetCode 214. Shortest Palindrome Solution1:最笨的方法.时间复杂度O(n2)O(n2)O(n^2) 竟然能AC,xixixi class Solution ...

  9. 【回文串5 重点+动态规划】LeetCode 132. Palindrome Partitioning II

    LeetCode 132. Palindrome Partitioning II Solution1:我的答案1 直接模仿131那道题的DFS解法,找其中size最小的.果不其然,因为超时只能部分AC ...

最新文章

  1. hdu 4044 GeoDefense (树形dp | 多叉树转二叉树)
  2. 全球及中国碳交易行业十四五发展展望与建设趋势研究报告2022-2027年
  3. hibernate正向生成数据库表以及配置——Student.hbm.xml
  4. JavaEE概念简介
  5. SpringBoot2.0 基础案例(17):自定义启动页,项目打包和指定运行环境
  6. 前端面试题汇总(css基础篇)
  7. xcode 自己常用到的快捷键
  8. 案例4-4 Windows消息队列 (25 分)(优先队列的优先级设定)
  9. (C/C++) Link List - C 語言版本
  10. 终极算法【2】——终极算法
  11. 简述搜索引擎的分类及其特点
  12. 企业邮箱哪个好用,公司如何选择企业邮箱
  13. 字节跳动自研万亿级图数据库 图计算实践
  14. 【第五章】零基础学Python实战练习(明日科技书配套)
  15. 前端项目如何向一个后端项目传递数组?(批量删除如何传参)
  16. 1500ml等于多少l_1500毫升是多少升
  17. 【应用篇】MyBatis学习笔记
  18. 计算机二级java答题演示_全国计算机二级考试高级Office考试操作题
  19. [洛谷P3262]战争调度
  20. 企业遇到3C审厂不符合项应该如何整改?

热门文章

  1. 测试原理_耐压测试仪绝缘电阻测试仪基本原理与选用
  2. java volatile i_为啥Java里面volatile 修饰的i++还是线程不安全的
  3. 微型计算机基本原理与应用pdf,微型计算机原理和应用.PDF
  4. linux换硬盘网卡不能启动,服务器硬盘冷迁移后网卡无法启动问题
  5. php 重写sessionid,PHP 重置 phpsessionid
  6. Python数据结构与算法(1.3)——Python基础之输入、输出与高阶赋值
  7. 缺陷检测算法matlab,MATLAB 基于模板匹配的玻璃瓶口缺陷检测
  8. ubuntu服务器设置_Ubuntu服务器设置–安全最佳实践
  9. Python多处理示例
  10. bokeh python_Python Bokeh数据可视化教程