1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

本题可以使用模拟算法,核心是统计 s1s1s1 和 s2s2s2 中字符不同的位置。

设不同的位置个数为 cntcntcnt:

  • 如果 cnt=0cnt = 0cnt=0,说明两个字符串已经相等,直接输出 truetruetrue。
  • 如果 cnt=2cnt = 2cnt=2,设两个不同位置为 iii 和 jjj,只要满足:

P4900.仅执行一次字符串交换能否使两个字符串相等

    1000ms Tried: 46 Accepted: 24 Difficulty: 5 所属公司 : Hot100
    算法与标签>模拟

题目描述

给定两个长度相等的字符串 s1s1s1 和 s2s2s2。

一次字符串交换操作定义为:选择某一个字符串中的两个下标(可以相同),并交换这两个下标对应的字符。

请判断是否可以对其中一个字符串执行最多一次字符串交换,使得 s1s1s1 和 s2s2s2 相等。

如果可以,输出 truetruetrue;否则,输出 falsefalsefalse。

输入描述

输入共两行。

第一行输入一个字符串 s1s1s1。

第二行输入一个字符串 s2s2s2。

输出描述

输出一个布尔值。

如果可以对其中一个字符串执行最多一次字符串交换,使得 s1s1s1 和 s2s2s2 相等,输出 truetruetrue;否则,输出 falsefalsefalse。

样例 111

输入

bank
kanb

输出

true

解释

交换 s2s2s2 中的第一个和最后一个字符,可以得到 "bank""bank""bank"。

样例 222

输入

attack
defend

输出

false

解释

一次字符串交换无法使两个字符串相等。

样例 333

输入

kelb
kelb

输出

true

解释

两个字符串已经相等,所以不需要进行字符串交换。

样例 444

输入

abcd
dcba

输出

false

数据范围

  • 1≤s1.length,s2.length≤1001 \le s1.length, s2.length \le 1001≤s1.length,s2.length≤100
  • s1.length==s2.lengths1.length == s2.lengths1.length==s2.length
  • s1s1s1 和 s2s2s2 仅由小写英文字母组成

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 41ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?