首页 > 其他分享 >Leetcode第1662题:检查两个字符串数组是否相等(Check if two string arrays are equivalent)

Leetcode第1662题:检查两个字符串数组是否相等(Check if two string arrays are equivalent)

时间:2022-11-01 10:34:41浏览次数:77  
标签:p2 p1 string arrays equivalent 遍历 word1 word2 size

解题思路

输入是两个字符串数组,包含的元素数目不一定相同,每个元素包含的字符数目也不一定相同。使用两个指针pi分别记录遍历的元素位置和字符位置。

指针p1p2分别表示遍历到了word1[p1]word2[p2],指针ij分别表示遍历到了word1[p1][i]word2[p2][j]

如果word1[p1]不等于word2[p2],直接返回false。否则i+1,当i=word1[p1].size()时,表示word1[p1]元素的字符已经遍历完,需要将p1+1i赋值为0

p1<word1.size()或者p2<word2.size()不满足时,结束遍历。返回true的条件是此时p1==word1.size()p2==word2.size()

核心代码如下:

class Solution {
public:
    bool arrayStringsAreEqual(vector<string>& word1, vector<string>& word2) {
        //p1指向word1的每个元素,i指向每个元素中的每个字符
        int p1=0, p2=0, i=0, j=0;
        while (p1 < word1.size() && p2 < word2.size()) {
            //第一个元素的第一个字符不相等
            if (word1[p1][i] != word2[p2][j]) { return false; }
            
            i++;
            if (i == word1[p1].size()) {
                p1++;
                i = 0;
            }
            j++;
            if (j == word2[p2].size()) {
                p2++;
                j = 0;
            }
        }
        //p1,p2都遍历到最后等于字符串长度
        return ( p1 == word1.size() && p2 == word2.size() );    
    }
};

标签:p2,p1,string,arrays,equivalent,遍历,word1,word2,size
From: https://www.cnblogs.com/hql5/p/16846842.html

相关文章

  • Java学习之String
    概述写在前面,工作第四年,重新把基础抓起来吧。String可以说是JDK中最基础的一个类。就记录一些日常开发中最常用的方法。String类是非可变类,其对象一旦创建,就不可销毁。Strin......
  • Leetcode第481题:神奇字符串(Magical string)
    解题思路根据题意,我们可以把ss看成是由「11组」和「22组」交替组成的,重点在于每组内的数字是一个还是两个,这可以从ss自身上知道。构造到ss的长度达到nn时停止......
  • QJsonObject与(QByteArray、QString)互相转换
    QJsonObjectCbActionSyncManager::getJsonObjectFromByteArray(constQByteArrayjsonString){QJsonDocumentjsonDocument=QJsonDocument::fromJson(jsonString);......
  • 3.Redis系列之常用数据类型字符串String
    本文系列学习redis五大常用数据类型之字符串String的基本操作及编码与底层数据结构1.基本操作//setkeyvalue设置键值对127.0.0.1:6379>setblogshenjian.onlineO......
  • C++面向对象高级开发(六)写好一个String类
    类的内部:public:构造函数、拷贝构造、拷贝赋值、析构函数的接口和辅助函数以及它的实现private:参数  类的外部:内联:inline构造函数:判断是否有初值:有初值:分配......
  • Java学习笔记day1——String类型变量
    /*String(字符串)类型变量的使用*1.String属于引用数据类型;*2.String用双引号""进行定义;*/classStringTest{publicstaticvoidmain(String[]ag......
  • [单片机框架] [str_hex] 字符串和16进制互转 string to hex
    /*********************************************************************************@filestr_hex.c*@authorjianqiang.xue*@VersionV1.0.0*@Date2021-04......
  • 【atcoder 293 F - Erase Subarrays】【动态规划】
    importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;publicclassMain{publicstaticvoidmain(String[]args)......
  • 4. Median of Two Sorted Arrays
    Giventwosortedarrays nums1 and nums2 ofsize m and n respectively,return themedian ofthetwosortedarrays.Theoverallruntimecomplexitysho......
  • javascript中的toString()
    基本介绍javascript中的toString方法是我们在写前端时经常要用的一个函数,也就是将我们的变量转换成字符串的方法。javascript中各种类型的toString方法javascript中定义了7......