给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。

示例 1:

输入: “aacecaaa”
输出: “aaacecaaa”

代码

class Solution {public int  getShortestPalindrome(String s) {//求next数组的最后一个元素char[] temp=s.toCharArray();int n=s.length();int[] next=new int[n+1];int k=-1,j=0;next[0]=-1;while (j<n){if(k==-1||s.charAt(k)==s.charAt(j)){j++;k++;next[j]=k;}else {k=next[k];}}return next[n];}public String shortestPalindrome(String s) {String t=s+'#'+new StringBuilder(s).reverse();
//将逆序字符串和原字符串拼在一起,求最长公共前缀int max=getShortestPalindrome(t);return new StringBuilder(s.substring(max)).reverse()+s;}
}

leetcode214. 最短回文串(kmp)相关推荐

  1. leetcode214. 最短回文串

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

  2. [Leetcode][第214题][JAVA][最短回文串][KMP][RK]

    [问题描述][中等] [解答思路] 1. 字符串哈希 复杂度 class Solution {public String shortestPalindrome(String s) {int n = s ...

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

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

  4. leetcode 214. 最短回文串 解题报告

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

  5. python最短回文串_LeetCode-Python-214. 最短回文串

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

  6. LeetCode 214. 最短回文串(字符串哈希)

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

  7. Leetcode 214.最短回文串

    Time: 20190906 Type: Hard 题目描述 给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串.找到并返回可以用这种方式转换的最短回文串. 示例 1: 输入: &qu ...

  8. 214. 最短回文串

    214. 最短回文串 原始题目链接:https://leetcode.cn/problems/shortest-palindrome/ 给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文 ...

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

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

最新文章

  1. 一个GDIPlus的Bug -- OutofMemory异常
  2. [转]Newtonsoft JSON how to dynamically change the date format?
  3. 用计算机求锐角A,B,计算机操作题
  4. OPENCV回调函数
  5. php文件上传漏洞waf,文件上传绕过WAF
  6. Flink 1.7.2 dataset transformation 示例
  7. psql切换schema_PostgreSQL教程(二):模式Schema详解
  8. 深度学习-吴恩达-笔记-1-深度学习引言
  9. Java面试题和答案
  10. 八 理解各种不同含义的new和delete
  11. [源]云计算技术堆栈系列——鸟瞰
  12. 如何管理好IDC机房?(二) ----依靠技术还是管理
  13. vivado.2019.1 安装教程
  14. JS实现逆波兰表达式
  15. 大数据面试题——spark
  16. 2、ehcache与springBoot整合
  17. 青岛新媒体运营教程:教你玩转抖音企业号,6步玩转抖音蓝v号
  18. Java之动态代理类实现日志简单实例
  19. 第一个被赋予公明身份的机器人_曾经的女性机器人,被赋予机器人公民身份之后,如今过得怎么样?...
  20. 计算共形几何-代数拓扑

热门文章

  1. 温故而知新!微信小程序的事件处理,吊打面试官系列!
  2. 微信小程序页面跳转、逻辑层模块化
  3. vue.js 安装
  4. eclipse启动tomcat不能正常访问问题
  5. ORACLE事务提交
  6. VBScript数组函数
  7. 巧用windows xp远程桌面web连接
  8. Kubernetes持续交付-Jenkins X的Helm部署
  9. 混合模型和EM---混合高斯
  10. Zookeeper系列四:Zookeeper实现分布式锁、Zookeeper实现配置中心