当前位置: 首页 > news >正文

leetcode:2839. 判断通过操作能否让字符串相等 I(python3解法)

难度:简单

给你两个字符串 s1 和 s2 ,两个字符串的长度都为 4 ,且只包含 小写 英文字母。

你可以对两个字符串中的 任意一个 执行以下操作 任意 次:

  • 选择两个下标 i 和 j 且满足 j - i = 2 ,然后 交换 这个字符串中两个下标对应的字符。

如果你可以让字符串 s1  s2 相等,那么返回 true ,否则返回 false 。

示例 1:

输入:s1 = "abcd", s2 = "cdab"
输出:true
解释: 我们可以对 s1 执行以下操作:
- 选择下标 i = 0 ,j = 2 ,得到字符串 s1 = "cbad" 。
- 选择下标 i = 1 ,j = 3 ,得到字符串 s1 = "cdab" = s2 。

示例 2:

输入:s1 = "abcd", s2 = "dacb"
输出:false
解释:无法让两个字符串相等。

提示:

  • s1.length == s2.length == 4
  • s1 和 s2 只包含小写英文字母。

题解:

class Solution:
    def canBeEqual(self, s1: str, s2: str) -> bool:
        list_s1 = list(s1)
        list_s2 = list(s2)
        n = len(s2)
        # index_list = []
        for i in range(n):
            for j in range(n):
                if abs(j - i) == 2 or abs(i - j) == 2:
                    list_s1[i],list_s1[j]=  list_s1[j],list_s1[i]
                    # print(list_s1,list_s2)
                    if list_s1 == list_s2:
                        return True
        return False

        

相关文章:

  • 小白学习java第12天:IO流之转换流
  • redis itheima
  • set 的 contains
  • C++(20)—类和对象(下) ⑤内部类
  • MQTT协议:IoT通信的轻量级选手
  • 无锡无人机超视距驾驶证怎么考?
  • 【Linux】ubuntu环境变量配置以及shell配置文件编写
  • Gson、Fastjson 和 Jackson 对比解析
  • WebChat 一款非常好用的浏览器侧边栏 AI 问答插件
  • C_内存 内存地址概念
  • 【Go】windows下的Go安装与配置,并运行第一个Go程序
  • 图像处理中的 Gaussina Blur 和 SIFT 算法
  • PCL中的数据格式
  • 【数据结构】包装类和泛型
  • InnoDB 如何解决幻读:深入解析与 Java 实践
  • AI制作PPT,如何轻松打造高效演示文稿
  • Java结合Swing处理Dicom图像集,实现翻页、左侧缩略图、窗宽位调整
  • Windows 11 PowerShell重定向文本文件的编码问题
  • 3.3.1 spdlog异步日志
  • 3.1.3.3 Spring Boot使用Filter组件
  • 安多网站制作/白帽优化关键词排名seo
  • 网站建设好处/企业策划推广公司
  • 建设银行甘肃省行网站/如何网络推广新产品
  • 什么是手机网站建设/谷歌三件套一键安装
  • 抖音代运营剧本/seo推广外包报价表
  • 网站优化设计方案怎么做/海底捞口碑营销案例