判断str1是否由str2旋转而来
stringbook
旋转后得到bookstring
,写一段代码验证str1
是否为str2
旋转得到。
思路
转化为判断:str1
是否为str2+str2
的子串(因为该思路比较巧妙,故记录下来)
def is_rotation(s1: str, s2: str) -> bool: if s1 is None or s2 is None: return False if len(s1) != len(s2): return False def is_substring(s1: str, s2: str) -> bool: return s1 in s2 return is_substring(s1, s2 + s2) r = is_rotation('stringbook', 'bookstring') print(r) # True r = is_rotation('greatman', 'maneatgr') print(r) # False