本文主要是介绍1071. Greatest Common Divisor of Strings(Leetcode每日一题-2020.03.12),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Problem
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.
Example1
Input: str1 = “ABCABC”, str2 = “ABC”
Output: “ABC”
Example2
Input: str1 = “ABABAB”, str2 = “ABAB”
Output: “AB”
Example3
Input: str1 = “LEET”, str2 = “CODE”
Output: “”
Solution
如果str1与str2的首字母不相同,直接返回空串;
最大公因子肯定是一个字符串前缀,且其长度不可能大于str1与str2中较短的一个的长度。
那么就从可能的最长的前缀开始,测试它是不是可以除尽str1与str2。
class Solution {
public:string gcdOfStrings(string str1, string str2) {
这篇关于1071. Greatest Common Divisor of Strings(Leetcode每日一题-2020.03.12)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!