2022年11月4日 星期五

[1616] Split Two Strings to Make Palindrome

其實我自己寫的很醜?!(遮臉)
看了別人的寫法, 啊原來可以精簡成這樣啊(恍然大悟貌)
真糟糕XD 我的code 有好多 check point
而且突然大驚的發現原來break 的話, for 的index 不會加加嗎>< 
難道本來就這樣嗎XD~~~~~(倒退五十萬步)

bool subCheck(char *input, int left, int right)
{
    for(; left<right; left++, right--)
        if(input[left]!=input[right])
            return false;
    return true;
}

bool checkReverse(char * prefix, char * suffix){
    int Len = strlen(prefix);
    int left, right;
    for(left=0,right=Len-1; left<right; left++, right--)
        if(prefix[left]!=suffix[right])
            return (subCheck(prefix,left,right) || subCheck(suffix,left,right));
    return true;
}

bool checkPalindromeFormation(char * a, char * b){    
    return (checkReverse(a,b) || checkReverse(b,a));
}

沒有留言:

張貼留言