1768. 交替合并字符串
给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。 返回 合并后的字符串 。
public String mergeAlternately(String word1, String word2) {
int m = word1.length(), n = word2.length(), i = 0, j = 0;
StringBuilder res = new StringBuilder();
while (i < m || j < n){
if (i < m){
res.append(word1.charAt(i));
i++;
}
if (j < n){
res.append(word2.charAt(j));
j++;
}
}
return res.toString();
}
采用的双指针,在每次循环以后,依次进行:
- 如果i没有超出word1范围就将word1[i]加入答案,并且将i移动一个位置。
- 如果j没有超出word2范围就将word2[j]加入答案,并且将j移动一个位置。
- 都超出返回答案即可
运用 StringBuilder的时候应该要记住它的使用方法:
StringBuilder sb = new StringBuilder();
sb.append(1);
sb.append("asd");
sb.append(false);
System.out.println(sb); //1asdfalse
return是使用通过toString()就可以实现把StringBuilder转换为String。
charAt()是返回一个字符串的指定位置的字符
String list ="abcd";
String list2=list.charAt(1);
System.out.print(list2);
结果是b