检查是否可以通过在 Python 中将另一个字符串旋转 2 个位置来获得字符串
假设我们有两个字符串s和t。我们必须检查是否可以通过向左或向右任意方向旋转t两个位置来获得s。
因此,如果输入类似于s="kolkata"t="takolka",那么输出将为True,因为我们可以将"takolka"向左侧旋转两次以获得"kolkata"。
为了解决这个问题,我们将按照以下步骤操作-
如果s的大小与t的大小不同,则
返回错误
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相同)时返回真,否则为假
让我们看看以下实现以获得更好的理解-
示例
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