Leetcode 1071. Greatest Common Divisor of Strings
For two strings?s
?and?t
, we say "t
?divides?s
" if and only if?s = t + ... + t
?(i.e.,?t
?is concatenated with itself one or more times).
Given two strings?str1
?and?str2
, return?the largest string?x
?such that?x
?divides both?str1
?and?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: ""
?
Constraints:
1 <= str1.length, str2.length <= 1000
str1
?and?str2
?consist of English uppercase letters.
Easy 題目,還是不是substring的函數(shù),看了大神的代碼,真的獲益匪淺,我的代碼真的太low了。2個(gè)字符串翻轉(zhuǎn)合并看是否一樣,不一樣返回false,一樣的話,再求2個(gè)字符串的長(zhǎng)度的最大公約數(shù)即可;
Runtime:?33 ms, faster than?5.05%?of?Java?online submissions for?Greatest Common Divisor of Strings.
Memory Usage:?42.6 MB, less than?9.09%?of?Java?online submissions for?Greatest Common Divisor of Strings.