1)lettcode题目:
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.
Example:
Input: "babad" Output: "bab" Note: "aba" is also a valid answer.
class Solution { public://以每个字符为中心,向左右拓展,找最大回文串 string expandAroundCenter(string s , int c1, int c2){ int l=c1, r=c2; int n=s.length(); while(l>=0&&r<n&&s[l]==s[r]){ l--; r++; } return s.substr(l+1,r-l-1); } string longestPalindrome(string s) { int n=s.length(); if(n==0) return ""; string longest=s.substr(0,1); for(int i=0;i<n-1;i++){ string p1=expandAroundCenter(s,i,i); if(p1.length()>longest.length()) longest=p1; string p2=expandAroundCenter(s,i,i+1); if(p2.length()>longest.length()) longest=p2; } return longest; } };
时间: 2024-11-05 12:16:07