package
0.0.0-20230809123828-b071cee2968a
Repository: https://github.com/codehanhan/leetcode-go.git
Documentation: pkg.go.dev

# README

面试题 01.09.字符串轮转

1. 题目描述

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

示例1:

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

示例2:

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

提示:

  • 字符串长度在[0, 100000]范围内。 说明:
  • 你能只调用一次检查子串的方法吗?

标签 字符串 字符串匹配

2. 解题

  1. 如果二者长度不想等,则直接返回false
  2. 滑动窗口法,将s2置于s1下方向左滑动,设s2当前对是s1头部对齐的位置是h, 比较s1[0:n-h-1]与s2[h:]是否相等,若相等,再比较s1[n-h:]与s2[0:h]是否相等,若相等,则返回true。否则继续滑动,直至h>=n-1