LeetCode-LongestPalindromicSubstring

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

题目:

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.

思路:

以每个点为基础,寻找回文字符串,两种情况,一种是形如aba,中心店两边是对称的,长度为奇数,另一种是形如aa,长度为偶数。

packagestring;publicclassLongestPalindromicSubstring {publicString longestPalindrome(String s) {intlen =s.length();

String max= "";for(inti = 0; i < len; ++i) {

String res=getStr(s, len, i, i);if(res.length() >max.length())

max=res;if(i + 1 < len && s.charAt(i) == s.charAt(i + 1)) {

res= getStr(s, len, i, i + 1);if(res.length() >max.length())

max=res;

}

}returnmax;

}PRivateString getStr(String s,intlen,intleft,intright) {while(right < len && left >= 0 && s.charAt(left) ==s.charAt(right)) {--left;++right;

}returns.substring(left + 1, right);

}publicstaticvoidmain(String[] args) {//TODO Auto-generated method stubLongestPalindromicSubstring l =newLongestPalindromicSubstring();

System.out.println(l.longestPalindrome("aabbcc"));

}

}

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航