检查Python中是否可以通过旋转另一个字符串两次得到一个字符串
假设我们有两个字符串s和t。我们必须检查是否可以通过向左或向右旋转t两次来得到s。
因此,如果输入像s = "kolkata" t = "takolka",则输出将为True,因为我们可以将"takolka"向左旋转两次以获得"kolkata"。
为了解决这个问题,我们将遵循以下步骤:
- 如果s的长度与t的长度不同,则
- 返回False
- right_rot := 空字符串
- left_rot := 空字符串
- l := t的长度
- left_rot := left_rot 连接 t[从索引l-2到结尾] 连接 t[从索引0到l-3]
- right_rot := right_rot 连接 t[从索引2到结尾] 连接 t[从索引0到1]
- 如果(s与right_rot相同或s与left_rot相同),则返回true,否则返回false
让我们看看下面的实现以更好地理解:
示例
def solve(s, t): if (len(s) != len(t)): return False right_rot = "" left_rot = "" l = len(t) left_rot = (left_rot + t[l - 2:] + t[0: l - 2]) right_rot = right_rot + t[2:] + t[0:2] return (s == right_rot or s == left_rot) s = "kolkata" t = "takolka" print(solve(s, t))
输入
"kolkata", "takolka"
输出
True
广告