【leetcode】1071. Greatest Common Divisor of Strings

題目以下:ide

For strings S and T, we say "T divides S" if and only if S = T + ... + T  (T concatenated with itself 1 or more times)spa

Return the largest string X such that X divides str1 and X 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. 1 <= str1.length <= 1000
  2. 1 <= str2.length <= 1000
  3. str1[i] and str2[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 ''
相關文章
相關標籤/搜索