2018年1月31日 星期三

[125] Valid Palindrome

判斷是不是回文
大小寫不計,只看字母跟數字
如果完全沒有符合字母跟數字的也算是YES
(為什麼要這樣定義為什麼~~~搖作者肩膀)
題意不難可是一堆corner case
(是說這跟special case 有什麼不一樣嗎XD)
覺得瑣碎 QQ

Valid Palindrome

bool isAlphanumeric(char *pL)
{
    if (pL[0]<48 || (pL[0]>57 && pL[0] <65)  || (pL[0]>90 && pL[0]<97) || (pL[0] >122))
        return false;
    return true;
}

bool isPalindrome(char* s) {
    if(s==NULL)
        return true;
    char *pL=s;
    char *pR = s+strlen(s) -1;

    while(pL<pR)
    {
        if (!isAlphanumeric(pL))
            pL++;
        else if (!isAlphanumeric(pR))
            pR--;
        else if (strncasecmp(pL++,pR--,1)!=0)
            return false;
    }    
    return true;
}

沒有留言:

張貼留言