Java for LeetCode 214 Shortest Palindrome
2015-06-09 20:45
465 查看
Given a string S, you are allowed to convert it to a palindrome by adding characters in front of it. Find and return the shortest palindrome you can find by performing this transformation.
For example:
Given
Given
解题思路:
本题最简单的思路是从后往前判断子串是否是回文串,然后把后面的弄到前面即可,不过这样仅仅能擦边通过测试,最高效的当然是KMP算法了,
KMP可以参考Java for LeetCode 028 Implement strStr()
JAVA实现如下;
For example:
Given
"aacecaaa", return
"aaacecaaa".
Given
"abcd", return
"dcbabcd".
解题思路:
本题最简单的思路是从后往前判断子串是否是回文串,然后把后面的弄到前面即可,不过这样仅仅能擦边通过测试,最高效的当然是KMP算法了,
KMP可以参考Java for LeetCode 028 Implement strStr()
JAVA实现如下;
public String shortestPalindrome(String s) { for(int i=s.length();i>=1;i--) if(isPalindrome(s.substring(0, i))) return new StringBuilder(s.substring(i)).reverse()+s; return ""; } static boolean isPalindrome(String s){ int left=0,right=s.length()-1; while(left<right) if(s.charAt(left++)!=s.charAt(right--)) return false; return true; }
相关文章推荐
- Java 的通信编程,用 JAVA SOCKET 编程,读服务器几个 字符,再写入本地显示?
- java多线程之生产消费问题
- 2015届华为校园招聘机试题 java实现(2)
- java多线程 ThreadPoolExecutor 策略的坑
- SpringMVC+MyBatis项目总结(四)
- Spring4+Hibernate4+junit4环境搭建
- Spring学习笔记之Spring事务及事务测试
- Java for LeetCode 213 House Robber II
- maven搭建SpringMvc Hibernate Spring的pom.xml
- Java中的import static
- Java知多少(87)选择框和单选按钮
- Struts2 重点总结 (1)
- Java枚举
- 如何在Java 8中愉快地处理日期和时间
- java 中间件学习4-CountDownLatch、CyclicBarrier、Future和FutureTask
- Java for LeetCode 212 Word Search II
- 【2015/6/9】快速排序的java简单实现
- JDK环境变量配置(相对路径)
- axis2与eclipse的整合:开始一个简单的axis2 的demo
- Java笔记01 编程基础与java入门