题目描述
对于字符串 S 和 T,只有在 S = T + … + T(T 与自身连接 1 次或多次)时,我们才认定 “T 能除尽 S”。
返回最长字符串 X,要求满足 X 能除尽 str1 且 X 能除尽 str2。
class Solution:
def gcdOfStrings(self, str1: str, str2: str) -> str:
算法思路
羞愧,真的跟大佬差很远。
if str1+str2!=str2+str1:return ''
判断str1,str2是否有共同的公因子。
然后通过辗转相除法,得到两个字符串的最大公因子长度。
return str1[0:self.gcd(len(str1),len(str2))]
辗转相除法:
def gcd(self,a,b):
return a if b==0 else self.gcd(b,a%b)