题解 | #最长回文子串# C/C++解法,两个for循环,直接暴力
最长回文子串
http://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507
#include<bits/stdc++.h> using namespace std; int main() { string str; while(cin>>str) { int len=0; for(int i=0;i<str.size();i++) { for(int j=str.size()-1;j>i;j--) { int m=i,n=j;int tmp=0; while(str[m]==str[n]) { tmp++; m++;n--; if(m>=n)//说明回文成立 { if(m==n) tmp=2*tmp+1;//若m==n,则回文为奇数,需要+1 else tmp*=2; if(len<tmp) len=tmp; break; } } } } cout<<len<<endl; } }