对于字符串 S
和 T
,只有在 S = T + ... + T
(T
与自身连接 1 次或多次)时,我们才认定 “T
能除尽 S
”。
返回字符串 X
,要求满足 X
能除尽 str1
且 X
能除尽 str2
。
输入: str1 = "ABCABC", str2 = "ABC" 输出: "ABC"
输入: str1 = "ABABAB", str2 = "ABAB" 输出: "AB"
输入: str1 = "LEET", str2 = "CODE" 输出: ""
1 <= str1.length <= 1000
1 <= str2.length <= 1000
str1[i]
和str2[i]
为大写英文字母
class Solution:
def gcdOfStrings(self, str1: str, str2: str) -> str:
if str1 == str2:
return str1
if str1.startswith(str2):
return self.gcdOfStrings(str1[len(str2):], str2)
elif str2.startswith(str1):
return self.gcdOfStrings(str1, str2[len(str1):])
return ""