交替合并字符串【LC1768】
给你两个字符串
word1和word2。请你从word1开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。返回 合并后的字符串 。
easyeasy!
双指针模拟
-
代码
class Solution { public String mergeAlternately(String word1, String word2) { int len1 = word1.length(); int len2 = word2.length(); int i = 0,j = 0; StringBuilder sb = new StringBuilder(); while(i < len1 || j < len2){ if (i < len1){ sb.append(word1.charAt(i)); i++; } if (j < len2){ sb.append(word2.charAt(j)); j++; } } return sb.toString(); } } -
复杂度
- 时间复杂度:O(n+m)O(n+m)O(n+m)
- 空间复杂度:O(n+m)O(n+m)O(n+m)
该博客介绍了如何使用双指针模拟方法解决LeetCode上的1768题,即合并两个字符串交替添加字母的问题。代码实现简洁,时间复杂度和空间复杂度均为线性。文章适合对字符串操作和算法感兴趣的读者阅读。
2311

被折叠的 条评论
为什么被折叠?



