leetcode1071

 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)
原文地址:https://www.cnblogs.com/asenyang/p/10962242.html