分享关于编程之美3.1自己编写的代码,很简单。
s2.沿着s1匹配(循环匹配,利用%Length技巧),匹配上,返回true。
//BOP3.1 char src[] = "AABBCD";//s1,
char des[] = "DAAB";//s2 bool CyclicShift(char des[],char src[])
{
int LenS = strlen(src);
int LenD = strlen(des);
bool flag = true;
for(int i =;i<LenS;i++)
{
flag = true;
for(int j=;j<LenD;j++)
{
if(des[j] != src[(i+j)%LenS])
{
flag = false;//标记没有满足循环移位
break;//如果不满足循环移位,则跳出。 }
}
if(flag == true)
return true;
}
return false; } void main()
{
cout<<CyclicShift(des,src);
}