题目:
给你两个字符串数组 word1 和 word2 。如果两个数组表示的字符串相同,返回 true ;否则,返回 false 。
数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串。
示例 1:
输入:word1 = [“ab”, “c”], word2 = [“a”, “bc”]
输出:true
解释:
word1 表示的字符串为 “ab” + “c” -> “abc”
word2 表示的字符串为 “a” + “bc” -> “abc”
两个字符串相同,返回 true
示例 2:
输入:word1 = [“a”, “cb”], word2 = [“ab”, “c”]
输出:false
示例 3:
输入:word1 = [“abc”, “d”, “defg”], word2 = [“abcddefg”]
输出:true
提示:
1 <= word1.length, word2.length <= 103
1 <= word1[i].length, word2[i].length <= 103
1 <= sum(word1[i].length), sum(word2[i].length) <= 103
word1[i] 和 word2[i] 由小写字母组成
只要创建两个数组,让他们成为拷贝连接的主体,将每一个通过循环都给它连接上去即可
代码
bool arrayStringsAreEqual(char ** word1, int word1Size, char ** word2, int word2Size){
if (word1 == NULL || word2 == NULL) {
return false;
}
char ans1[1000];
char ans2[1000];
int i, j;
strcpy(ans1, word1[0]);
strcpy(ans2, word2[0]);
for (i = 1; i < word1Size; i++) {
strcat(ans1, word1[i]);
}
for (j = 1; j < word2Size; j++) {
strcat(ans2, word2[j]);
}
if (strcmp(ans1, ans2) == 0) {
return true;
} else {
return false;
}
}