Сложность: easy
Даны два массива строк
word1 и word2. Верните true, если два массива представляют одну и ту же строку, и false в противном случае.Строка представлена массивом, если элементы массива, соединенные в порядке, образуют строку.
Пример:
Input: word1 = ["ab", "c"], word2 = ["a", "bc"]
Output: true
Explanation:
word1 represents string "ab" + "c" -> "abc"
word2 represents string "a" + "bc" -> "abc"
The strings are the same, so return true.
👨💻 Алгоритм:
1⃣Построение списка символов для word2:
Создайте список list2 для хранения всех символов из массива строк word2.
2⃣Итерация по word1 и проверка соответствующих символов:
Итеративно пройдите по строкам в word1 и сравнивайте каждый символ с соответствующим символом из list2.
3⃣Возврат результата:
Верните true, если все символы совпадают, и false, если найдены несовпадения или длины строк не совпадают.
😎 Решение:
class Solution {
public boolean arrayStringsAreEqual(String[] word1, String[] word2) {
List<Character> list2 = new ArrayList<>();
for (String s : word2) {
for (char c : s.toCharArray()) {
list2.add(c);
}
}
int list2Length = list2.size();
int index = 0;
for (String s : word1) {
for (char c : s.toCharArray()) {
if (index >= list2Length || c != list2.get(index)) {
return false;
}
index++;
}
}
return true;
}
}Ставь 👍 и забирай 📚 Базу знаний