题解 | #最长回文子串#
最长回文子串
https://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507
#import <Foundation/Foundation.h>
int main(int argc, char* argv[]) {
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
char str[350];
gets(str);
NSString* inputString = [NSString stringWithFormat:@"%s", str];
int maxCount = 0;
int length = (int)inputString.length;
for (int i = 0; i < length; i++) {
for (int j = i; j < length; j++) {
NSString* sub = [inputString substringWithRange:NSMakeRange(i, j - i + 1)];
BOOL flag = YES;
for (int k = 0; k < sub.length / 2; k++) {
NSString* sub1 = [sub substringWithRange:NSMakeRange(k, 1)];
NSString* sub2 = [sub substringWithRange:NSMakeRange(sub.length - k - 1, 1)];
if (![sub1 isEqualToString:sub2]) {
flag = false;
break;
}
}
if (flag) {
maxCount = maxCount < sub.length ? sub.length : maxCount;
}
}
}
printf("%d", maxCount);
[pool drain];
return 0;
}

查看10道真题和解析