leetcode--5. Longest Palindromic Substring
题目来自 https://leetcode.com/problems/longest-palindromic-substring/
题目: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.
给一个字符串S,在S中找出最长回文子字符串。你可以设置字符串的最大长度为1000,这里面存着一个唯一的最长回文字符串。
方法1:
以中心对称的方法检测回文
public class LongestPalindromicSubstring { public static String expendCenterStr(String s,int r,int l){ if (s.length()==0){ return ""; } int n=s.length(); while (r>=0&&l<n&&s.charAt(r)==s.charAt(l)){ r--; l++; } return s.substring(r+1,l); } public static String longestPalindrome(String s) { String longestStr=s.substring(0,1); for (int i=0;i<s.length();i++){ String s1=expendCenterStr(s,i,i); if (s1.length()>longestStr.length()){ longestStr=s1; } String s2=expendCenterStr(s,i,i+1); if (s2.length()>longestStr.length()){ longestStr=s2; } } return longestStr; } public static void main(String[] args) { System.out.println(longestPalindrome("ffasfgcabbacgdsfs")); } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步