Задача
Даны две строки. Необходимо смержить эти строки в одну. При этом символы в результирующей строке должны чередоваться: один символ из первой строки, затем один символ из второй строки, и так далее. Если строки разной длины, то оставшиеся символы из более длинной строки должны быть добавлены в конец результирующей строки.
Примеры:
Для строк "abc" и "pqk" результирующая строка будет "apbqck".
Для строк "abc" и "p" результирующая строка будет "apbc".
Ссылка на leetcode: https://leetcode.com/problems/merge-strings-alternately
Решение.
Решение описал тут: https://dev.to/faangmaster/prostaia-zadacha-s-sobiesiedovaniia-v-google-merge-strings-alternately-1aa3
Код решения:
public String mergeAlternately(String word1, String word2) {
StringBuilder sb = new StringBuilder();
int i = 0;
while (i < word1.length() || i < word2.length()) {
if (i < word1.length()) {
sb.append(word1.charAt(i));
}
if (i < word2.length()) {
sb.append(word2.charAt(i));
}
i++;
}
return sb.toString();
}Временная сложность: O(N+M), где N - длинна первой строки, M - длинна второй строки.
Сложность по памяти: O(1), если не считать память на результирующую строку. Если считать, то O(N+M).