首页 > 其他分享 >力扣---1662. 检查两个字符串数组是否相等

力扣---1662. 检查两个字符串数组是否相等

时间:2023-03-15 18:57:42浏览次数:43  
标签:力扣 return String --- word1 word2 字符串 true 1662

 

给你两个字符串数组 word1word2 。如果两个数组表示的字符串相同,返回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] 由小写字母组成

1. 利用指针,遍历,然后判断指针指向的字符是否相同,需要注意边界条件。

2. 利用字符串拼接,这个没啥好说的。

class Solution {     public boolean arrayStringsAreEqual(String[] word1, String[] word2) {         int i =0;         int j = 0;         int p1 = 0;         int p2 = 0;         while (i < word1.length || j < word2.length) {             // 判断是否一边已经走完,而另一边还有剩余。             if (i >= word1.length || j >= word2.length) {                 return false;             }             if (word1[i].charAt(p1) != word2[j].charAt(p2)) {                 return false;             }             if (++ p1 == word1[i].length()) {                 p1 = 0;                 i ++;             }             if (++ p2 == word2[j].length()) {                 p2 = 0;                 j ++;             }         }         return true;     } }

字符串拼接

class Solution {
    public boolean arrayStringsAreEqual(String[] word1, String[] word2) {
        return join(word1).equals(join(word2));
    }

    public String join(String[] words) {
        StringBuilder ret = new StringBuilder();
        for (String s : words) {
            ret.append(s);
        }
        return ret.toString();
    }
}

 

 

标签:力扣,return,String,---,word1,word2,字符串,true,1662
From: https://www.cnblogs.com/allWu/p/17219607.html

相关文章

  • 算法 -- 正则表达式匹配 (动态规划)
    原题:10.正则表达式匹配困难3.5K相关企业给你一个字符串s和一个字符规律p,请你来实现一个支持'.'和'*'的正则表达式匹配。'.'匹配任意单个字符'*'匹配零个......
  • Spring-事件监听 源码解析
    当我们的系统运行在一定的关键节点的时候,它会通过广播器发布一些事件出去;而我们系统中存在着部分监听器,它对某些关键节点的事件是感兴趣的,所以它会去订阅这部分消息;当这些......
  • day92 - 插槽
    插槽介绍作用:让父组件可以向子组件指定位置插入HTML结构,是一种组件间通信的方式,适用于父组件==>子组件分类默认插槽,具名插槽,作用域插槽默认插槽子组件title从父组件......
  • Docker基础知识 (28) - 在 Dockerfile 中以 scratch 为基础镜像 (FROM scratch)
     通常使用Docker镜像时会以一个已存在的镜像为基础,在其上进行定制,这个已存在的镜像就是基础镜像。在DockerFile中必须指定基础镜像,FROM指令就是用于指定基础镜像,......
  • java进阶 -JFrame36
      packagecom.cyjt97.Frame;importjavax.swing.*;publicclassJFrameDEME{publicstaticvoidmain(String[]args){//创建窗体JFr......
  • CCF 2022-12
    一:试题编号:2022-12-1试题名称:现值计算时间限制:1.0s内存限制:512.0MB问题描述:样例输入20.05-200100100样例输出-14.059样例说明该项目当前支出 200 元,在接下来两年每年收......
  • selenium自动化测试-qq邮箱登录
    fromtimeimportsleepfromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.chrome.optionsimportOptionsoptions=O......
  • 力扣---剑指 Offer 48. 最长不含重复字符的子字符串
    请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例1:输入:"abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3......
  • 浅谈Linux下的shell--BASH
    shell的概念与作用我们已经学习并知道了操作系统实际上就是一款软件,一款用来管理计算机软硬件资源,为用户提供良好的执行环境的软件。假如该软件能被用户随意操作,就会有可能......
  • 爬虫-requests
    1.爬虫介绍爬虫就是程序从互联网中各个网站上爬取数据(只能爬区我们能看到的数据),然后进行数据清洗(筛选),入库。爬虫的本质:模拟http请求,获取数据,入库。百度就是一个大......