【leetcode】1071. Greatest Common Divisor of Strings
题目如下:
For strings
SandT, we say "TdividesS" if and only ifS = T + ... + T(Tconcatenated with itself 1 or more times)Return the largest string
Xsuch thatXdivides str1 andXdivides str2.
Example 1:
Input: str1 = "ABCABC", str2 = "ABC" Output: "ABC"Example 2:
Input: str1 = "ABABAB", str2 = "ABAB" Output: "AB"Example 3:
Input: str1 = "LEET", str2 = "CODE" Output: ""
Note:
1 <= str1.length <= 10001 <= str2.length <= 1000str1[i]andstr2[i]are English uppercase letters.
解题思路:题目比较简单,依次判断str1[0:i]是否满足条件即可。
代码如下:
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 ''
浙公网安备 33010602011771号