给你两个字符串数组 word1 和 word2 。如果两个数组表示的字符串相同,返回 true ;否则,返回 false 。
数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串。
输入:word1 = [“ab”, “c”], word2 = [“a”, “bc”]
输出:true
解释:
word1 表示的字符串为 “ab” + “c” -> “abc”
word2 表示的字符串为 “a” + “bc” -> “abc”
两个字符串相同,返回 true
输入:word1 = [“a”, “cb”], word2 = [“ab”, “c”]
输出:false
输入:word1 = [“abc”, “d”, “defg”], word2 = [“abcddefg”]
输出:true
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/check-if-two-string-arrays-are-equivalent
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution {
public boolean arrayStringsAreEqual(String[] word1, String[] word2) {
StringBuffer sb1 = new StringBuffer();
for (String s : word1) sb1.append(s);
StringBuffer sb2 = new StringBuffer();
for (String s : word2) sb2.append(s);
return sb1.toString().equals(sb2.toString());
}
}
class Solution {
public boolean arrayStringsAreEqual(String[] word1, String[] word2) {
int n = 0, m = 0;
int i = 0, j = 0;
while (n < word1.length && m < word2.length) {
if (i < word1[n].length() && j < word2[m].length() && word1[n].charAt(i++) != word2[m].charAt(j++)) return false;
if (i == word1[n].length()) {
i = 0;
n++;
}
if (j == word2[m].length()) {
j = 0;
m++;
}
}
return n == word1.length && m == word2.length;
}
}