796.旋转字符串
旋转字符串
给定两个字符串, s 和 goal。如果在若干次旋转操作之后,s 能变成 goal ,那么返回 true 。
s 的旋转操作就是将 s 最左边的字符移动到最右边。
示例 1:
输入:s = “abcde”, goal = “cdeab”
输出:true
示例 2:
输入:s = “abcde”, goal = “abced”
输出:false
提示:
- 1 <= s.length, goal.length <= 100
- s 和 goal 由小写英文字母组成
解析
将 s 拼接自身形成 s+s,如果 goal 是 s 的旋转结果,那么 goal 一定是 s+s 的子串。
1 | var rotateString = function (s, goal) { |
时间复杂度 O(n),空间复杂度 O(n)。非常简洁的解法。
796.旋转字符串
https://leetcode.lz5z.com/796.rotate-string/