2022年6月18日 星期六

[796] Rotate String

照例逃避了現實?!但竟然PASS了而且很快啊XD
很醜沒錯!但是不能接受把s 複製一次在後面然後找goal 在不在它裡面啊>< 
這感覺就是偷吃步啊屋屋屋
我愛C , C 愛我啊 >< (但好像只有easy C 愛我吧屋屋屋)
bool rotateString(char * s, char * goal){
    int sLen = strlen(s);
    int gLen = strlen(goal);
    char *pS, *pGoal;
    pS=s;
    pGoal=goal;

    while(sLen >0)
    {
        if (*pS != *pGoal)
        {
            pS++;
        }
        else //first check
        {
            int sLeft=strlen(s)-sLen;
            char *tmp, *tmpG;
            tmp=pS;
            tmpG=pGoal;
            while(*pS==*pGoal && (sLen--) > 0)
            {
                pS++;
                pGoal++;
            }
            if (sLen !=0)
            {
                sLen=strlen(s)-sLeft;
                pS=tmp;
                pGoal=tmpG;
                pS++;                
            }
            else
            {
                pS=s;
                int i;
                for(i=0;i<sLeft;i++)
                    if (*pS==*pGoal)
                    {
                        pS++;
                        pGoal++;
                    }
                    else
                        return false;
                if(i==sLeft)
                    return true;
            }
        }
        sLen--;
    }
    return false;
}

沒有留言:

張貼留言