Sponsored
This approach involves concatenating all the elements in each string array to form two complete strings, and then comparing these strings for equality. Since we need to ensure that the concatenated results of the two arrays are the same, this approach is both intuitive and straightforward.
The time complexity is O(n), where n is the sum of the lengths of both arrays' strings, as each character is traversed once during concatenation. The space complexity is O(n) due to the storage of the concatenated strings.
1function arrayStringsAreEqual(word1, word2) {
2 return word1.join('') === word2.join('');
3}
4
5const word1 = ["abc", "d", "defg"];
6const word2 = ["abcddefg"];
7console.log(arrayStringsAreEqual(word1, word2));
In JavaScript, we apply join('')
to combine all elements of the arrays into strings, and then simply check if these strings are equal using ===
.
Instead of explicitly concatenating the arrays into strings, this approach uses two pointers to iterate through the characters of the arrays simultaneously. It allows checking one character at a time across both arrays, ensuring they match without creating additional strings.
Time complexity is O(n), where n is the total number of characters in both arrays. Space complexity is minimized to O(1) as no additional storage is required beyond basic variables.
#include <vector>
using namespace std;
bool arrayStringsAreEqual(vector<string>& word1, vector<string>& word2) {
int i = 0, j = 0, w1 = 0, w2 = 0;
while (w1 < word1.size() && w2 < word2.size()) {
if (word1[w1][i] != word2[w2][j]) return false;
if (++i == word1[w1].length()) { i = 0; w1++; }
if (++j == word2[w2].length()) { j = 0; w2++; }
}
return w1 == word1.size() && w2 == word2.size();
}
int main() {
vector<string> word1 = {"abc", "d", "defg"};
vector<string> word2 = {"abcddefg"};
cout << (arrayStringsAreEqual(word1, word2) ? "true" : "false") << endl;
return 0;
}
This C++ approach uses pointers to check character equality one by one from both arrays, iterating over each element with direct comparison.