题目描述:
给你两个字符串 word1
和 word2
。请你从 word1
开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。
示例一: 输入:word1 = "abc", word2 = "pqr" 输出:"apbqcr" 解释:字符串合并情况如下所示: word1: a b c word2: p q r 合并后: a p b q c r
示例二: 输入:word1 = "ab", word2 = "pqrs" 输出:"apbqrs" 解释:注意,word2 比 word1 长,"rs" 需要追加到合并后字符串的末尾。 word1: a b word2: p q r s 合并后: a p b q r s
示例三: 输入:word1 = "abcd", word2 = "pq" 输出:"apbqcd" 解释:注意,word1 比 word2 长,"cd" 需要追加到合并后字符串的末尾。 word1: a b c d word2: p q 合并后: a p b q c d
Java代码:
class Solution {
public String mergeAlternately(String word1, String word2) {
int n=word1.length(),m=word2.length(),i = 0,j = 0;
StringBuilder sb = new StringBuilder();
while(i < n || j < m){
if(i < n)sb.append(word1.charAt(i++));
if(j < m)sb.append(word2.charAt(j++));
}
return sb.toString();
}
}
charAt():返回一个字符串的指定位置的字符,索引是从[0,length-1]
word1.charAt(i)返回word1的第i-1个字符。
StringBuilder类提供了一种方便的方式来处理字符串的拼接和修改。
public StringBuilder append(String str)
该方法接受一个字符串参数,并将其追加到StringBuilder对象的末尾。