日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

交替字符串

發布時間:2025/3/16 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 交替字符串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

交替字符串

題目詳情:

如果字符串str3能夠由str1和str2中的字符按順序交替形成,那么稱str3為str1和str2的交替字符串。例如str1="abc",str2="def",那么"adbecf", "abcdef", "abdecf", "abcdef", "adefbc"等等都為str1和str2的交替字符串。更形式化的,str3的生成算法如下:

str3=""

while str1不為空 or str2不為空:

?把str1或str2的首字符加入到str3,并從str1或str2中刪除相應的字符

end

給定str1, str2,和str3,判斷str3是否為str1和str2的交替字符串。


輸入格式:

多組數據,每組數據三行,分別是str1,str2,str3。str1,str2的長度在[1..100]范圍內,str3的范圍在[1..200]范圍內。字符串只包含小寫英文字母。

輸出格式:

每組數據輸出一行YES或者NO。

答題說明:

輸入樣例

a

b

ab

a

b

ca

輸出樣例:

YES

NO

AC代碼:

#include<stdio.h> #include<string.h>int fun(char *str1,char *str2,char *str3) {int i=0,j=0,k=0;int len1=strlen(str1),len2=strlen(str2),len3=strlen(str3);while(str1[i]!='\0'||str2[j]!='\0'){if(str1[i]==str3[k]){i++;k++;}else{if(str2[j]==str3[k]){j++;k++;}elsereturn 0;}}while(k<len3&&i<len1){if(str1[i]==str3[k]){i++;k++;}elsereturn 0;}while(k<len3&&j<len2){if(str2[j]==str3[k]){j++;k++;}elsereturn 0;}return 1; } int main() {char str1[103],str2[103],str3[206];while(~scanf("%s%s%s",str1,str2,str3)){if(fun(str1,str2,str3)){printf("YES\n");}elseprintf("NO\n");}return 0; }

總結

以上是生活随笔為你收集整理的交替字符串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。