#include <stdafx.h>
#include <string.h>
#include <stdio.h>
bool CheckRotation(const char *pStr1, cosnt char *pStr2)
{
int iLen1 = strlen(pStr1);
int iLen2 = strlen(pStr2);
if(iLen1 != iLen2)
return false;
char* pStrComb = new char[2 * iLen1];
strcpy(pStrComb, pStr1);
strcat(pStrComb, pStr1);
if(isSubstring(pStrComb, pStr2))
{
delete[] pStrComb;
return true;
}
delete[] pStrComb;
return false;
}
bool isSubstring(const char *pStr1, const char *pStr2)
{
if(strlen(pStr1) < strlen(pStr2))
return false;
for(int i = 0; i <= strlen(pStr1) - strlen(pStr2); i++)
{
for(int j = 0; j < strlen(pStr2); j++)
{
if(pStr1[i + j] != pStr1[j])
break;
}
if(j == strlen(pStr2))
return true;
}
return false;
}
转载于:https://blog.51cto.com/studyforbest/1220826