【Leecode】交替合并字符串- join

题目

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

返回 合并后的字符串 。

【Leecode】交替合并字符串- join_第1张图片

错误1

class Solution:
    def mergeAlternately(self, word1: str, word2: str) -> str:
        n = len(word1)
        m = len(word2)
        word3 = []
        i=0
        while i<len(word1) and i<len(word2):
            word3.append(word1[i])
            word3.append(word2[i])
            i +=1
        
        if i<len(word1):
            word3.append(word1[i:])
        if i<len(word2):
            word3.append(word2[i:])
        return word3

输出不是一个字符串
【Leecode】交替合并字符串- join_第2张图片

方法一

使用 join 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串

Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
symbol = "-";
seq = ("a", "b", "c"); # 字符串序列
print symbol.join( seq );
class Solution:
    def mergeAlternately(self, word1: str, word2: str) -> str:
        n = len(word1)
        m = len(word2)
        word3 = []
        i=0
        while i<len(word1) and i<len(word2):
            word3.append(word1[i])
            word3.append(word2[i])
            i +=1
        
        if i<len(word1):
            word3.append(word1[i:])
        if i<len(word2):
            word3.append(word2[i:])
        return ''.join(word3)

【Leecode】交替合并字符串- join_第3张图片

方法二

class Solution:
    def mergeAlternately(self, word1: str, word2: str) -> str:
        ans = []
        for x, y in zip_longest(word1, word2):
            if x: ans.append(x)
            if y: ans.append(y)
        return ''.join(ans)```

你可能感兴趣的:(leetcode,python)