LC 面试题 01.09. 字符串轮转 (opens new window) (opens new window)
简单
# 问题描述
字符串轮转。给定两个字符串 s1
和 s2
,请编写代码检查 s2
是否为 s1
旋转而成(比如,waterbottle
是 erbottlewat
旋转后的字符串)。
示例 1:
输入:s1 = "waterbottle", s2 = "erbottlewat"
输出:True
示例 2:
输入:s1 = "aa", s2 = "aba"
输出:False
提示:
- 字符串长度在
[0, 100000]
范围内。
说明:
你能只调用一次检查子串的方法吗?
# 搜索子字符串
若 和 长度不一致,则 必然不能通过旋转得到 ,因此,可以直接返回 ,若二者长度相同,若 能够旋转得到 ,那么 必然存在字符串 。
/**
* @param {string} s1
* @param {string} s2
* @return {boolean}
*/
var isFlipedString = function (s1, s2) {
return s1.length === s2.length && (s2 + s2).includes(s1)
}
- 时间复杂度:
- 空间复杂度:
上次更新: 2023/01/31 19:48:05
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 , 转载请注明出处!