lc1071. Greatest Common Divisor of Strings

  1. Greatest Common Divisor of Strings Easy

62

25

Favorite

Share 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)

Return the largest string X such that X divides str1 and X divides 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 <= 1000 1 <= str2.length <= 1000 str1[i] and str2[i] are English uppercase letters.

思路:替换字符串

代码:python3

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

        while True:
            if str1 in str2:
                str2 = str2.replace(str1,"")
            elif str2 in str1:
                str1 = str1.replace(str2,"")
            else:
                return ""
            if str2=="":
                return str1
            if str1=="":
                return str2
复制代码

转载于:https://juejin.im/post/5d07318ff265da1baa1e73e1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值