796. 旋转字符串

796. 旋转字符串

💡 原文英文,约400词,阅读约需2分钟。
📝

内容提要

给定两个字符串s和goal,判断s经过若干次左移后是否能变为goal。可以通过将s与自身连接(s+s)来检查goal是否为其子串,时间复杂度为O(n),空间复杂度为O(n)。

🎯

关键要点

  • 给定两个字符串s和goal,判断s经过若干次左移后是否能变为goal。
  • 左移操作是将s的最左字符移动到最右位置。
  • 通过将s与自身连接(s+s)来检查goal是否为其子串。
  • 时间复杂度为O(n),空间复杂度为O(n)。
  • 首先检查s和goal的长度是否相同,若不同则返回false。
  • 连接字符串s以创建doubleS。
  • 使用strpos()函数检查goal是否为doubleS的子串。
  • 如果goal是子串则返回true,否则返回false。
➡️

继续阅读