寫一個(gè)函數(shù),判斷一個(gè)字符串是否為另外一個(gè)字符串旋轉(zhuǎn)之后的字符串。
創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括麻栗坡網(wǎng)站建設(shè)、麻栗坡網(wǎng)站制作、麻栗坡網(wǎng)頁(yè)制作以及麻栗坡網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,麻栗坡網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到麻栗坡省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!例如:給定s1 =AABCD和s2 = BCDAA,返回1
給定s1=abcd和s2=ACBD,返回0.
AABCD左旋一個(gè)字符得到ABCDA
AABCD左旋兩個(gè)字符得到BCDAA
AABCD右旋一個(gè)字符得到DAABC
思路1:將s1左旋一個(gè)字符后與s2進(jìn)行比較,重復(fù)上述步驟,若有相等的情況則返回1,否則返回0.
代碼實(shí)現(xiàn):#include#include
void left_move(char* arr, int k)
{
int i = 0;
int len = strlen(arr);
for (i = 0; i< k; i++)
{
int j = 0;
char tmp = arr[0];
for (j = 0; j< len - 1; j++)
{
arr[j] = arr[j + 1];
}
arr[j] = tmp;
}
}
int to_find(char* arr1, char* arr2)
{
int len1 = strlen(arr1);
int len2 = strlen(arr2);
if (len1 != len2)
return 0;
int i = 0;
while (i< len1)
{
left_move(arr1, 1);
if (strcmp(arr1, arr2) == 0)
return 1;
i++;
}
return 0;
}
int main()
{
char arr1[20] = "hello";
char arr2[] = "lohel";
int ret = to_find(arr1, arr2);
if (ret == 1)
printf("YES\n");
else
printf("NO\n");
return 0;
}
思路2:通過(guò)使用strncat函數(shù)和strstr函數(shù)實(shí)現(xiàn)
【1】strncat函數(shù):代碼實(shí)現(xiàn):
char *strncat(char *dest,const char *src,int n);
作用:把src所指 字符串 的前n個(gè)字符添加到dest結(jié)尾處(覆蓋dest結(jié)尾處的'\0')并添加'\0'
【2】strstr函數(shù):
char *strstr(const char *arr1, const char *arr2)
返回值為char * 類型( 返回指向 str1 中第一次出現(xiàn)的 str2 的指針);如果 str2 不是 str1 的一部分,則返回空指針
#includeint to_find(char* arr1, char* arr2)
{
int len1 = strlen(arr1);
int len2 = strlen(arr2);
if (len1 != len2)
return 0;
strncat(arr1, arr1, len1);
if (strstr(arr1, arr2) == NULL)
return 0;
else
return 1;
}
int main()
{
char arr1[20] = "hello";
char arr2[] = "lohel";
int ret=to_find(arr1, arr2);
if (ret == 1)
printf("YES\n");
else
printf("NO\n");
return 0;
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
文章題目:【C語(yǔ)言】判斷一個(gè)字符串是否為另外一個(gè)字符串旋轉(zhuǎn)之后的字符串-創(chuàng)新互聯(lián)
本文來(lái)源:http://jinyejixie.com/article32/cesisc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、做網(wǎng)站、商城網(wǎng)站、App開發(fā)、網(wǎng)站制作、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容