iis网站目录权限,微信公众平台小程序官网,汕头网站建设报价,淘宝客做网站怎样推广题目描述#xff1a;#xff08;相关标签#xff1a;双指针、字符串#xff09; 给你两个字符串 word1 和 word2 。请你从 word1 开始#xff0c;通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长#xff0c;就将多出来的字母追加到合并后字符串的末尾。 返…题目描述相关标签双指针、字符串 给你两个字符串 word1 和 word2 。请你从 word1 开始通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长就将多出来的字母追加到合并后字符串的末尾。 返回合并后的字符串 。 示例 1 输入word1 “abc”, word2 “pqr” 输出“apbqcr” 解释字符串合并情况如下所示 word1 a b c word2 p q r 合并后 a p b q c r 解题思路
初始化指针使用两个指针分别指向两个字符串的当前字符位置。交替取字符交替从两个字符串中取字符并将其添加到结果字符串中。处理剩余字符如果一个字符串比另一个长继续将较长字符串中的剩余字符添加到结果中。返回结果最终返回合并后的字符串。
具体步骤
初始化结果数组使用一个数组 result 来存储交替合并的字符。计算长度获取两个字符串的长度并计算最小长度。交替合并通过循环遍历最小长度依次从 word1 和 word2 中取字符并添加到 result 中处理剩余字符使用 slice 方法将剩余的字符添加到结果中。返回结果使用 join 方法将数组转换为字符串并返回。
代码实现
/*** param {string} word1* param {string} word2* return {string}*/
function mergeAlternately(word1, word2) {// 1. 初始化结果数组let result [];// 2. 获取两个字符串的长度 并计算最小长度let len1 word1.length;let len2 word2.length;let minLen Math.min(len1, len2);// 3. 通过循环遍历最小长度交替添加字符到结果数组中for (let i 0; i minLen; i) {result.push(word1[i]);result.push(word2[i]);}// 5. 处理剩余的字符if (len1 minLen) {result.push(word1.slice(minLen));}if (len2 minLen) {result.push(word2.slice(minLen));}// 6. 将结果数组转换为字符串并返回return result.join();
}// 示例用法
console.log(mergeAlternately(abc, pqr)); // 输出 apbqcr
console.log(mergeAlternately(ab, pqrs)); // 输出 apbqrs
console.log(mergeAlternately(abcd, pq)); // 输出 apbqcd