浅谈 检查两个字符串数组是否相等 问题

检查两个字符串数组是否相等

问题:
给你两个字符串数组 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;
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_48033173/article/details/112814642