html网站地图制作,公司网站建设的改进的建议,wordpress4.7.3下载,网架公司有哪些公司题目描述
给你两个字符串 word1 和 word2 。请你从 word1 开始#xff0c;通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长#xff0c;就将多出来的字母追加到合并后字符串的末尾。
返回 合并后的字符串 。
https://leetcode.cn/problems/merge-strings-al…题目描述
给你两个字符串 word1 和 word2 。请你从 word1 开始通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长就将多出来的字母追加到合并后字符串的末尾。
返回 合并后的字符串 。
https://leetcode.cn/problems/merge-strings-alternately/description/
示例
示例 1
输入word1 abc, word2 pqr
输出apbqcr
解释字符串合并情况如下所示
word1 a b c
word2 p q r
合并后 a p b q c r示例 2
输入word1 ab, word2 pqrs
输出apbqrs
解释注意word2 比 word1 长rs 需要追加到合并后字符串的末尾。
word1 a b
word2 p q r s
合并后 a p b q r s示例 3
输入word1 abcd, word2 pq
输出apbqcd
解释注意word1 比 word2 长cd 需要追加到合并后字符串的末尾。
word1 a b c d
word2 p q
合并后 a p b q c d提示
1 word1.length, word2.length 100word1 和 word2 由小写英文字母组成
解题总结
实现方式1是我自己的写法写完之后感觉有点冗余但又不知如何改进实现方式2则是借鉴了别人的题解显然方式2的代码更加简洁优雅
代码实现
实现方式1
char * mergeAlternately(char * word1, char * word2){int length1 strlen(word1);int length2 strlen(word2);char* res (char*)malloc(sizeof(char) * (length1 length2 1));int i 0;int j 0;while(word1[i] ! 0 word2[i] ! 0){res[j] word1[i];j;res[j] word2[i];i;j;}if(word1[i] 0){while(word2[i] ! 0){res[j] word2[i];i;j;}}else{while(word1[i] ! 0){res[j] word1[i];i;j;}}res[j] 0;return res;
}实现方式2
char * mergeAlternately(char * word1, char * word2) {int length1 strlen(word1);int length2 strlen(word2);char* res malloc(sizeof(char) * (length1 length2 1));int i 0;int j 0;while (i length1 || i length2) {if (i strlen(word1)) {res[j] word1[i];}if (i strlen(word2)) {res[j] word2[i];}i;}res[j] 0;return res;
}