【问题标题】:Method that checks if one word is a rotation of another检查一个词是否是另一个词的轮换的方法
【发布时间】:2017-01-16 02:25:44
【问题描述】:

解决编码面试问题,该问题要求一种方法来检查一个字符串是否是另一个字符串的旋转。对这个问题的一个警告是,它必须通过一次调用 isSubstring(s1, s2) 来解决。

我完全理解作者的解决方案——如果 s2 是 s1 的旋转,那么您可以将 s1 分成两部分 x 和 y,使得 s1 = xy 和 s2 = yx。因此作者继续说,s2 必须是 s1s1 的子串(yx 是 xyxy 的一部分)。

我写这个问题是为了确保我完全理解。是不是等于说 s1 必须是 s2s2 的子串(即 xy 必须是 yxyx 的子串)才能使 s2 成为旋转?这样一来,这两种方法是等价的吗?不知道我是否遗漏了什么..

【问题讨论】:

  • 对外部站点上的问题的引用甚至没有链接并且仅以您所做的模糊方式描述是没有帮助的。请用实际问题的描述进行编辑(链接是可选的,只能在问题描述之外提供)。
  • 这个问题只是出自书中的两句话,所以真的没什么可补充的了。

标签: string algorithm substring


【解决方案1】:

是的,这两者是等价的。如果s1s2 的旋转,那么s2 也是s1 的旋转,因此无论您从哪个方向处理问题都没有关系。 s1 将是s2s2 的子字符串,s2 将是s1s1 的子字符串,如果这两个字符串相互旋转。

【讨论】:

    猜你喜欢
    • 2017-12-02
    • 1970-01-01
    • 2019-01-06
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    • 2020-09-11
    • 2011-11-08
    • 2013-03-29
    相关资源
    最近更新 更多