开始刷题leetcode day47: Longest Palindromic Substring
2015-06-22 11:01
441 查看
Given a string S,
find the longest palindromic substring in S.
You may assume that the maximum length of S is
1000, and there exists one unique longest palindromic substring.
java:
public class Solution {
public String longestPalindrome(String s) {
int left=0;
int right =0;
int maximum = 0;
if(s.length() < 2) return s;
for(int i=0; i<s.length(); i++)
{
int len1 = expandPalindrome(s, i,i);
int len2 = expandPalindrome(s,i,i+1);
int larger = Math.max(len1,len2);
if(larger > maximum)
{
left = i-(larger-1)/2;
right = i + larger/2;
maximum = larger;
}
}
return s.substring(left,right+1);
}
public int expandPalindrome(String s, int left, int right)
{
while(left >= 0 && right < s.length() && s.charAt(left) == s.charAt(right))
{
left --;
right ++;
}
return right -left - 1;
}
}
注意:left >= 0 && right < s.length()需要取到底,然后return right-left-1. 避免取到i和i+1不相等的情况还返回2的
find the longest palindromic substring in S.
You may assume that the maximum length of S is
1000, and there exists one unique longest palindromic substring.
java:
public class Solution {
public String longestPalindrome(String s) {
int left=0;
int right =0;
int maximum = 0;
if(s.length() < 2) return s;
for(int i=0; i<s.length(); i++)
{
int len1 = expandPalindrome(s, i,i);
int len2 = expandPalindrome(s,i,i+1);
int larger = Math.max(len1,len2);
if(larger > maximum)
{
left = i-(larger-1)/2;
right = i + larger/2;
maximum = larger;
}
}
return s.substring(left,right+1);
}
public int expandPalindrome(String s, int left, int right)
{
while(left >= 0 && right < s.length() && s.charAt(left) == s.charAt(right))
{
left --;
right ++;
}
return right -left - 1;
}
}
注意:left >= 0 && right < s.length()需要取到底,然后return right-left-1. 避免取到i和i+1不相等的情况还返回2的
相关文章推荐
- tomcat connection pool(mysql)
- linux命令二
- 图像渲染技术(从光线跟踪到光子映射)
- SUBCLASSDLGITEM函数
- 0x00000000该内存不能为read
- less
- pycharm 基础教程
- mysql 按周、日进行数据统计
- Observer观察者。。
- 数据结构之图(存储结构、遍历)
- 向mysql数据库存换行
- Windows Live Writer 的昨日荣光
- C语言中的序列点和副作用
- F#学习笔记
- Compare Version Numbers -- leetcode
- jdk1.7和1.8的新特性
- 内部类和匿名内部类
- Python lambda匿名函数
- 北京络捷斯特物流系统(三)
- hdu 2544(最短路)