T******7 发帖数: 1419 | 1 class Solution {
public:
string longestPalindrome(string s) {
int maxlen = 0;
string ret;
int st,end = 0;
for(int i = 0; i < s.size(); i ++){
int lena = expandPalin(s, i,i,s.size());
int lenb = expandPalin(s,i,i+1,s.size());
int len = max(lena,lenb);
if(len > maxlen)
{
st = i-(len-1)/2;
end = i+len/2;
maxlen = len;
}
}
return s.substr(st, end-st+1);
}
int expandPalin(string s, int i, int j, int len){
int L=i;
int R = j;
if( L >=0 && R< len && s[L]==s[R]) {
L--;
R++;
}
return R-L-1;
}
};
那個低級錯誤 改正,還是不對 | g********r 发帖数: 89 | 2 what is this?
if(len > len)
【在 T******7 的大作中提到】 : class Solution { : public: : string longestPalindrome(string s) { : int maxlen = 0; : string ret; : int st,end = 0; : for(int i = 0; i < s.size(); i ++){ : int lena = expandPalin(s, i,i,s.size()); : int lenb = expandPalin(s,i,i+1,s.size()); : int len = max(lena,lenb);
| b******g 发帖数: 3616 | 3 if(len > len) ?
@_@楼上比我抢先了几秒。。。。 | e*********5 发帖数: 137 | | e*********5 发帖数: 137 | 5 int expandPalin(string s, int i, int j, int len){
int L=i;
int R = j;
if( L >=0 && R< len && s[L]==s[R]) {
L--;
R++;
}
return R-L-1;
}
越界应该没有。不过这个函数里面if是不是改为while? | T******7 发帖数: 1419 | 6 thats why!!!
thanks so muhc!!!
【在 e*********5 的大作中提到】 : int expandPalin(string s, int i, int j, int len){ : int L=i; : int R = j; : if( L >=0 && R< len && s[L]==s[R]) { : L--; : R++; : } : return R-L-1; : } : 越界应该没有。不过这个函数里面if是不是改为while?
| k*******a 发帖数: 433 | |
|