Greatest Common Divisor of Strings
For two strings s and t, we say "t divides s" if and only if s = t + t + t + ... + t + t, meaning 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"The string "ABC" can be repeated to form both "ABCABC" and "ABC", and it is the largest such string.
Example 2
Input
str1 = "ABABAB", str2 = "ABAB"Output
"AB"The string "AB" can be repeated to form both "ABABAB" and "ABAB", and it is the largest such string.
Constraints
- 1 <= str1.length, str2.length <= 1000
- str1 and str2 consist of English uppercase letters.