「每日LeetCode」2021年2月10日

本文最后更新于:2023年3月19日 晚上

面试题 01.09. 字符串轮转

面试题 01.09. 字符串轮转

字符串轮转。给定两个字符串s1s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottleerbottlewat旋转后的字符串)。
示例 1:

1
2
输入:s1 = "waterbottle", s2 = "erbottlewat"
输出:True

示例 2:

1
2
输入:s1 = "aa", s2 = "aba"
输出:False

提示:

  1. 字符串长度在[0, 100000]范围内。

说明:

  1. 你能只调用一次检查子串的方法吗?

思路

先判断长度是否一样,是的话将 s 字符首尾加起来,如果得到的字符串包含 s1,说明是轮转字符串。

解答

1
2
3
4
5
6
7
8
/**
* @param {string} s1
* @param {string} s2
* @return {boolean}
*/
var isFlipedString = function (s1, s2) {
return s1.length === s2.length && (s2 + s2).toString().includes(s1);
};