LeetCode 214. Shortest Palindrome

Solution1:最笨的方法。时间复杂度O(n2)O(n2)O(n^2)
竟然能AC,xixixi

class Solution {
public:string shortestPalindrome(string s) { //最短的回文串,则对称轴要尽可能往后!if (s.size() <= 1) return s;int i = s.size() - 1;for (; i >= 0; i--) {if (isPalin(s, 0, i)) break;}if (i == s.size() - 1) return s;else {string s_copy = s;string pre = s_copy.substr(i + 1);reverse(pre.begin(), pre.end());return pre + s;}}bool isPalin(string &str, int begin, int end) {while (begin < end) {if (str[begin] != str[end])return false;else {begin++;end--;}}return true;}
};

Solution2:
参考网址:http://www.cnblogs.com/grandyang/p/4523624.html
利用KMP算法
参考网址:
[1]http://www.cnblogs.com/grandyang/p/4523624.html
[2]https://blog.csdn.net/v_july_v/article/details/7041827

class Solution {
public:string shortestPalindrome(string s) {string r = s;reverse(r.begin(), r.end());string t = s + "#" + r;vector<int> next(t.size(), 0);for (int i = 1; i < t.size(); ++i) {int j = next[i - 1];while (j > 0 && t[i] != t[j]) j = next[j - 1];next[i] = (j += t[i] == t[j]);}return r.substr(0, s.size() - next.back()) + s;}
};

【To Understand! 回文串6 KMP算法】LeetCode 214. Shortest Palindrome相关推荐

  1. 力扣- - 最短回文串(KMP算法)

    力扣- - 最短回文串(KMP算法) 文章目录 力扣- - 最短回文串(KMP算法) 一.题目描述 二.分析之KMP算法 1.暴力法 2.KMP算法 3.next数组求法1:暴力查找最长的前后缀 4. ...

  2. (回文串)Manacher算法

    (回文串)Manacher算法 标签: ACM 回文串 Manacher 问题描述: 输入一个字符串,求出其中最大的回文子串.子串的含义是:在原串中连续出现的字符串片段.回文的含义是:正着看和倒着看相 ...

  3. 1616: 最长回文串(马拉车算法)

    1616: 最长回文串 Time Limit: 1 Sec Memory Limit: 128 MB [Submit][Status][Web Board] Description 求一个字符串的最长 ...

  4. 怎么判断一个字符串的最长回文子串是否在头尾_LeetCode 5 迅速判断回文串的Manacher算法...

    本文始发于个人公众号: TechFlow 题意 Given a string s, find the longest palindromic substring in s. You may assum ...

  5. 字符串处理 —— 回文串相关 —— Manacher 算法

    [概述] Manacher 算法又称马拉车算法,用于求最长回文子串. 对于最长回文子串传统的求法的求法是以每个字符为中心,向两边寻找回文子串,在遍历完整个数组后即可得到最长回文子串,其时间复杂度为 O ...

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

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

  7. 131. 分割回文串(回溯算法)

    给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 .返回 s 所有可能的分割方案. 回文串 是正着读和反着读都一样的字符串. 示例 1: 输入:s = "aab&quo ...

  8. leetcode214. 最短回文串(kmp)

    给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串.找到并返回可以用这种方式转换的最短回文串. 示例 1: 输入: "aacecaaa" 输出: "aaa ...

  9. leetcode 214. Shortest Palindrome | 214. 最短回文串(Java)

    题目 https://leetcode.com/problems/shortest-palindrome/ 题解 看了 Related Topics - Rolling Hash 下的相关题目,看到了 ...

最新文章

  1. python知识:opencv下的轮廓和区域
  2. 自定义LocaleResolver实现页面中英文切换
  3. Android使用NDK OpenGL ES3.0绘制一个三角形
  4. Android增量代码测试覆盖率工具
  5. Python | 在列表中指定索引处添加元素的程序
  6. fpga烧写bin文件_S3C2440移植uboot之编译烧写uboot
  7. SEO市场是在扩大还是缩小 Seoer终于会变成什么?
  8. 设计网页录入信息与自己定义server数据接收
  9. 破解软件下载网站100个
  10. 使用selenium自动化工具爬取微博内容和评论
  11. R74800H和i79750h参数对比哪个好?
  12. 记录:The field files exceeds its maximum permitted size of 1048576 bytes...解决方案【亲测有效】
  13. 机顶盒安装APK方法
  14. 怎么开发支付宝扫码收款应用-java 支付宝当面付
  15. 公众号开发素材管理效果演示-微信开发素材管理1
  16. 租服务器一年多少钱,阿里云服务器租赁一年多少钱...
  17. QFP PQFP LQFP TQFP封装形式及PCB详解!
  18. 应届生报考MEM时要注意了!非全不是你的菜!
  19. 嵌入式软件工程师面试题(七)
  20. IFS系统功能清单之一——IFS通用组件

热门文章

  1. 张先生是什么意思_她为家付出几十年,只因拿六千礼金,遭儿媳怒怼:什么钱你都敢拿?...
  2. office另存为pdf的加载项_你可能需要用到的office转换技巧
  3. 人之间的尊重是相互的_人与人之间,尊重很重要
  4. react 使用rewired_create-react-app 通过 react-app-rewired 添加 webpack 的 alias
  5. 怎么安装python2.7_python2.7环境如何安装
  6. python exec函数和eval函数_Python exec()和eval()的使用注意事项
  7. influxdb tsm文件_Influxdb中TSM文件结构解析之读写TSM
  8. html5支付认证,html5实现微信支付宝接口
  9. matlab对有周期性噪声的图像去噪,数字图像中去除周期性噪声研究.doc
  10. mysql查询结果输出文件_如何将MySQL查询输出保存到文件?