【力扣日记】1071 字符串的最大公因子 | 数学问题

题目描述

对于字符串 S 和 T,只有在 S = T + … + T(T 与自身连接 1 次或多次)时,我们才认定 “T 能除尽 S”。

返回最长字符串 X,要求满足 X 能除尽 str1 且 X 能除尽 str2。

class Solution:
    def gcdOfStrings(self, str1: str, str2: str) -> str:

算法思路

羞愧,真的跟大佬差很远。

        if str1+str2!=str2+str1:return ''

判断str1,str2是否有共同的公因子。

然后通过辗转相除法,得到两个字符串的最大公因子长度。

        return str1[0:self.gcd(len(str1),len(str2))]

辗转相除法:

	def gcd(self,a,b):
        return a if b==0 else self.gcd(b,a%b)
发布了210 篇原创文章 · 获赞 20 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Heart_for_Ling/article/details/104825360