本文共 577 字,大约阅读时间需要 1 分钟。
为了判断字符串A是否可以经过若干次左旋转得到字符串B,我们可以利用字符串拼接和子串包含的方法来高效地解决问题。
步骤解释:
检查长度是否相同:如果A和B的长度不同,直接返回false,因为无法通过旋转得到一个长度不同的字符串。
字符串拼接:将字符串A重复两次,形成一个新字符串s。这样,s将包含A的所有可能的旋转结果。
子串检查:检查字符串B是否是字符串s的子串。如果是,说明B可以通过旋转得到,返回true;否则返回false。
代码实现:
class Solution: def rotateString(self, A, B): if len(A) != len(B): return False s = A + A return B in s
解释:
这种方法的时间复杂度为O(n + m),其中n是A的长度,m是B的长度。利用字符串拼接和子串检查,确保了算法的高效性和简洁性。
转载地址:http://zrgyk.baihongyu.com/