题解 | #最长回文子串#

最长回文子串

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;
}



全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务