題目以下:ide
For strings
S
andT
, we say "T
dividesS
" if and only ifS = T + ... + T
(T
concatenated with itself 1 or more times)spaReturn the largest string
X
such thatX
divides str1 andX
divides str2.code
Example 1:blog
Input: str1 = "ABCABC", str2 = "ABC" Output: "ABC"
Example 2:string
Input: str1 = "ABABAB", str2 = "ABAB" Output: "AB"
Example 3:it
Input: str1 = "LEET", str2 = "CODE" Output: ""
Note:io
1 <= str1.length <= 1000
1 <= str2.length <= 1000
str1[i]
andstr2[i]
are English uppercase letters.
解題思路:題目比較簡單,依次判斷str1[0:i]是否知足條件便可。class
代碼以下:object
class Solution(object): def gcdOfStrings(self, str1, str2): """ :type str1: str :type str2: str :rtype: str """ for i in range(len(str1),0,-1): if len(str1) % i == 0 and len(str2) % i == 0 and \ str1[:i] * (len(str1) / i ) == str1 and str1[:i] * (len(str2) / i ) == str2: return str1[:i] return ''