Shortest Palindrome leetcode-java
来源:互联网 发布:软件图标更换器 编辑:程序博客网 时间:2024/05/18 03:18
先制作原字符串的对称镜像字符串,如s = “abcd”, 镜像a = “abcddcba”+” “。
然后对新字符串a,按KMP算法求next的方法,求next
KMP算法请参考:
http://blog.csdn.net/tukangzheng/article/details/38438481
public class Solution { public String shortestPalindrome(String s) { if(s.length() == 0||s.length() == 1) return s; String mirror = s + new StringBuilder(s).reverse().toString()+" "; int[] next = new int[mirror.length()]; int i=0; int j=-1; next[0]=-1; while(i<mirror.length()-1){ if(j==-1||mirror.charAt(i)==mirror.charAt(j)){ i++; j++; next[i]=j; }else j=next[j]; } int count = s.length() - next[mirror.length() -1]; if(count<0)count =0; String result = new StringBuilder(s.substring(s.length()-count, s.length())).reverse().toString() + s; return result; } }
0 0
- Shortest Palindrome Leetcode Java
- Shortest Palindrome leetcode-java
- [leetcode-214]Shortest Palindrome(java)
- (Java)LeetCode-214. Shortest Palindrome
- leetcode 214: Shortest Palindrome
- leetcode - Shortest Palindrome
- LeetCode Shortest Palindrome
- 【回文】leetcode - Shortest Palindrome
- [LeetCode] Shortest Palindrome I
- LeetCode - Shortest Palindrome (KMP)
- LeetCode #214 Shortest Palindrome
- [leetcode] 214.Shortest Palindrome
- Shortest Palindrome -- leetcode
- LeetCode 214. Shortest Palindrome
- leetcode 214: Shortest Palindrome
- leetcode:Shortest Palindrome
- LeetCode之Shortest Palindrome
- [LeetCode 214] Shortest Palindrome
- iOS --- [持续更新中] iOS移动开发中的优质资源
- Qt获取当前时间
- 8天学通MongoDB——第四天 索引操作
- db2日志报错 Bad Queue Handle
- Rust中文翻译8
- Shortest Palindrome leetcode-java
- MySQL 自增列插入0值的方法
- Shell脚本之数组
- rich:pickList标签的使用
- ios json数据解析
- 【Java基础学习笔记】输入输出流之Reader
- Android xxx is not translated in zh解决办法
- Assert()
- 8天学通MongoDB——第五天 主从复制