给你两个字符串 word1
和 word2
。请你从 word1
开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。
代码:
char * mergeAlternately(char * word1, char * word2){
int len1=strlen(word1);
int len2=strlen(word2);
char *result = (char *)malloc(sizeof(char) * (len1 + len2 + 1));// 分配存储合并后字符串的内存空间
int a=0,b=0,c=0;// a用于遍历word1,b用于遍历word2,c用于标记合并后字符串的位置
while (a<len1&&b<len2)
{
result[c++]=word1[a++];// 从word1中取一个字符放入合并后的字符串中
result[c++]=word2[b++];// 从word2中取一个字符放入合并后的字符串中
}
// 将剩余未遍历完的字符追加到合并后的字符串末尾
while (a<len1)
{
result[c++]=word1[a++];
}
while (b<len2)
{
result[c++]=word2[b++];
}
result[c]='\0';// 添加字符串结束符
return result;
}