1 class Solution: 2 def gcdOfStrings(self, str1: str, str2: str) -> str: 3 if str1 == str2: 4 return str1 5 len1 = len(str1) 6 len2 = len(str2) 7 s = '' 8 l = '' 9 if len1 <= len2: 10 s = str1 11 l = str2 12 else: 13 s = str2 14 l = str1 15 if l.find(s) != 0: 16 return '' 17 else: 18 x = len(l) // len(s) 19 temp = l[x * len(s):] 20 if temp == '': 21 return s 22 else: 23 return self.gcdOfStrings(s,temp)
另一种写法:
1 class Solution: 2 def gcdOfStrings(self, str1: str, str2: str) -> str: 3 if str1 == str2: 4 return str1 5 len1 = len(str1) 6 len2 = len(str2) 7 s = '' 8 l = '' 9 if len1 <= len2: 10 s = str1 11 l = str2 12 else: 13 s = str2 14 l = str1 15 if l.find(s) != 0: 16 return '' 17 else: 18 temp = l[len(s):] 19 if temp == '': 20 return s 21 return self.gcdOfStrings(s,temp)