标签:turn image ace ima bcd malloc mic sys false
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama"
输出: true
示例 2:
输入: "race a car"
输出: false
class Solution {
    public boolean isPalindrome(String s) {
        s = s.toLowerCase(); //全部转换为小写
        // 使用String 拼接,如果单词太多的话,会提示时间超时,使用StringBuilder就不会。
        StringBuilder builder = new StringBuilder();
        int i,len = s.length();
        //变成只有小写字母和数字的字符串
        for(i=0;i<len;i++) {
            char c = s.charAt(i);
            if((c>='0' && c<='9') || (c>='a' && c<='z')) {
                builder.append(c);
            }
        }
        return builder.toString().equals(builder.reverse().toString());
    }
}
bool isPalindrome(char* s) {
    int i,k=0,len =strlen(s);
    char *ss = (char *)malloc(sizeof(char)*len);
    //拼接一个只有小写字母和数字的字符串
    for(i=0;i<len;i++) {
        if((s[i]>='0' && s[i]<='9') || (tolower(s[i])>='a' && tolower(s[i])<='z' )) {
            ss[k++]=tolower(s[i]);
        }
    }
    //判断是否回文
    for(i=0;i<k/2;i++) {
        if(ss[i]!=ss[k-i-1]) {
            return false;
        }
    }
    return true;
}

标签:turn image ace ima bcd malloc mic sys false
原文地址:https://www.cnblogs.com/lick468/p/10658046.html