列表

详情


1768. 交替合并字符串

给你两个字符串 word1word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。

返回 合并后的字符串

 

示例 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

 

提示:

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: string mergeAlternately(string word1, string word2) { } };

golang 解法, 执行用时: 0 ms, 内存消耗: 2.1 MB, 提交时间: 2021-06-08 10:26:12

func mergeAlternately(word1 string, word2 string) string {
    n1, n2 := len(word1), len(word2)
    var ans []byte
    
    m := getMin(n1, n2)
    for i := 0; i < m; i++ {
        ans = append(ans, word1[i], word2[i])
    }

    if n1 > n2 {
        ans = append(ans, word1[n2:]...)
    } else {
        ans = append(ans, word2[n1:]...)
    }
    return string(ans)
}

func getMin(n1, n2 int) int {
    if n1 > n2 {
        return n2
    }
    return n1
}

上一题