检查两个字符串数组是否相等
问题:
给你两个字符串数组 word1 和 word2 。如果两个数组表示的字符串相同,返回 true ;否则,返回 false 。
数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串。
例:
输入:word1 = ["ab", "c"], word2 = ["a", "bc"]
输出:true
解释:
word1 表示的字符串为"ab" + "c" -> "abc"
word2 表示的字符串为"a" + "bc" -> "abc"
两个字符串相同,返回 true
思路:
将字符数组转化为字符串,然后再比较
class Solution {
public:
bool arrayStringsAreEqual(const vector<string>& word1, const vector<string>& word2) {
string s1 = str(word1);
string s2 = str(word2);
if(s1.size() != s2.size()) return false; // 长度不相等直接返回 false
auto len = s1.size();
for(int i = 0; i < len; ++i) {
if(s1[i] != s2[i])
return false;
}
return true;
}
string str(const vector<string>& word) {
// 将字符串数组转化为字符串
string s;
for(int i = 0; i < word.size(); ++i)
s += word[i];
return s;
}
};