面试经典150题-12-验证回文串-力扣125

89 阅读1分钟

验证回文串-力扣125

难度:easy

题目描述

image.png

示例

image.png

解法1

先把整个字符串读一遍,把小写字母全部放到前面去,最后j的值即为这串小写字母的长度。 然后就按照会问串的规则比对字符串即可。

bool isPalindrome(char* s) {
    int i, j;
    i = j = 0;
    while(s[i]){
        if(s[i] >= 'a' && s[i] <= 'z')
            s[j++] = s[i];
        else if(s[i] >= 'A' && s[i] <= 'Z')
            s[j++] = s[i] + 'a' -'A';
        else if(s[i] >= '0' && s[i] <= '9')
            s[j++] = s[i];
        
        i++;
    }

    for(i = 0; i < j/2; i ++){
        if(s[i] != s[j-1-i])
            return  false;
    }

    return true;
}