leetcode214. 最短回文串(kmp)
给定一个字符串 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)相关推荐
- leetcode214. 最短回文串
214. 最短回文串 难度困难114 给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串.找到并返回可以用这种方式转换的最短回文串. 示例 1: 输入: "aacecaaa& ...
- [Leetcode][第214题][JAVA][最短回文串][KMP][RK]
[问题描述][中等] [解答思路] 1. 字符串哈希 复杂度 class Solution {public String shortestPalindrome(String s) {int n = s ...
- 力扣- - 最短回文串(KMP算法)
力扣- - 最短回文串(KMP算法) 文章目录 力扣- - 最短回文串(KMP算法) 一.题目描述 二.分析之KMP算法 1.暴力法 2.KMP算法 3.next数组求法1:暴力查找最长的前后缀 4. ...
- leetcode 214. 最短回文串 解题报告
给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串.找到并返回可以用这种方式转换的最短回文串. 示例 1: 输入: "aacecaaa" 输出: "aaa ...
- python最短回文串_LeetCode-Python-214. 最短回文串
给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串.找到并返回可以用这种方式转换的最短回文串. 示例 1: 输入: "aacecaaa" 输出: "aaa ...
- LeetCode 214. 最短回文串(字符串哈希)
文章目录 1. 题目 2. 解题 1. 题目 给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串. 找到并返回可以用这种方式转换的最短回文串. 示例 1: 输入: "aace ...
- Leetcode 214.最短回文串
Time: 20190906 Type: Hard 题目描述 给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串.找到并返回可以用这种方式转换的最短回文串. 示例 1: 输入: &qu ...
- 214. 最短回文串
214. 最短回文串 原始题目链接:https://leetcode.cn/problems/shortest-palindrome/ 给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文 ...
- leetcode 214. Shortest Palindrome | 214. 最短回文串(Java)
题目 https://leetcode.com/problems/shortest-palindrome/ 题解 看了 Related Topics - Rolling Hash 下的相关题目,看到了 ...
最新文章
- 一个GDIPlus的Bug -- OutofMemory异常
- [转]Newtonsoft JSON how to dynamically change the date format?
- 用计算机求锐角A,B,计算机操作题
- OPENCV回调函数
- php文件上传漏洞waf,文件上传绕过WAF
- Flink 1.7.2 dataset transformation 示例
- psql切换schema_PostgreSQL教程(二):模式Schema详解
- 深度学习-吴恩达-笔记-1-深度学习引言
- Java面试题和答案
- 八 理解各种不同含义的new和delete
- [源]云计算技术堆栈系列——鸟瞰
- 如何管理好IDC机房?(二) ----依靠技术还是管理
- vivado.2019.1 安装教程
- JS实现逆波兰表达式
- 大数据面试题——spark
- 2、ehcache与springBoot整合
- 青岛新媒体运营教程:教你玩转抖音企业号,6步玩转抖音蓝v号
- Java之动态代理类实现日志简单实例
- 第一个被赋予公明身份的机器人_曾经的女性机器人,被赋予机器人公民身份之后,如今过得怎么样?...
- 计算共形几何-代数拓扑