标签:移位 dea 判断 ota turn 超过 span div etc
给定两个字符串, A 和 B。
A 的旋转操作就是将 A 最左边的字符移动到最右边。 例如, 若 A = ‘abcde‘,在移动一次之后结果就是‘bcdea‘ 。如果在若干次旋转操作之后,A 能变成B,那么返回True。
示例 1: 输入: A = ‘abcde‘, B = ‘cdeab‘ 输出: true 示例 2: 输入: A = ‘abcde‘, B = ‘abced‘ 输出: false
注意:
A 和 B 长度不超过 100。
正常的做法比较清晰了,可以一次移位一个去比较,全部移位一遍后没有匹配成功则返回false
在评论区看到一个神奇做法,将A复制一份,首尾相连,即A+A,然后判断B是否在A+A里面就可以了
非常巧妙而且快捷。
代码如下:
class Solution: def rotateString(self, A: str, B: str) -> bool: return len(A) == len(B) and B in (A+A)
标签:移位 dea 判断 ota turn 超过 span div etc
原文地址:https://www.cnblogs.com/axiangcoding/p/10503068.html