方法一:
找两字符串长度最大公因数
class Solution:
def gcdOfStrings(self, str1: str, str2: str) -> str:
size = math.gcd(len(str1), len(str2))
gcd = str1[:size]
if str1 + str2 == str2 + str1:
return gcd
else:
return ""
方法二:
class Solution:
def gcdOfStrings(self, str1: str, str2: str) -> str:
size = math.gcd(len(str1), len(str2))
gcd = str1[:size]
if gcd * (len(str1) // size) == str1 and gcd * (len(str2) // size) == str2:
return gcd
else:
return ""
方法三:
class Solution:
def gcdOfStrings(self, str1: str, str2: str) -> str:
for i in range(min(len(str1), len(str2)), 0, -1):
if len(str1) % i == 0 and len(str2) % i == 0:
if str1 == str2[:i] * (len(str1) // i) and str2 == str1[:i] * (len(str2) // i):
return str1[:i]
return ''