- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# Greatest Common Divisor of Strings in Python

Suppose there are two strings A and B. We can say that A is divisible by B, when A is created by concatenating B one or more times. So if A = “abcabc”, and B = “abc”, then A is divisible by B. In this section, we will see what is the greatest common divisor of a String. So return the largest string that divides both of the strings. So if two strings are “ABABAB”, and “ABAB”, then GCD will be “AB”

To solve this, we will follow these steps −

- temp := shorter string between A and B
- m := length of temp
- x := 1
- res is an array and insert “” into the res
- while A and B has substring of size x, then add the substring into the res, and increase x by 1
- finally return the last element in the res array.

## Example

Let us see the following implementation to get better understanding −

class Solution(object): def gcdOfStrings(self, str1, str2): if len(str1)<=len(str2): temp = str1 else: temp = str2 m = len(temp) x = 1 res=[""] while x<=m: if m%x==0 and temp[:x] * (len(str1)//x) == str1 and temp[:x] * (len(str2)//x) == str2: res.append(temp[:x]) x+=1 return res[-1] ob1 = Solution() print(ob1.gcdOfStrings("ABABAB","ABAB"))

## Input

"ABABAB" "ABAB"

## Output

AB

- Related Questions & Answers
- Return the greatest common divisor and lowest common multiple in Numpy
- Greatest common divisors in Python
- C++ Queries on XOR of Greatest Odd Divisor of the Range
- Common Words in Two Strings in Python
- Common words among tuple strings in Python
- Program to find length of longest common subsequence of three strings in Python
- Python code to print common characters of two Strings in alphabetical order
- Program to find longest common prefix from list of strings in Python
- Program to find size of common special substrings of two given strings in Python
- Common Character Count in Strings in JavaScript
- Python program to find better divisor of a number
- Python program to remove words that are common in two Strings
- Count common characters in two strings in C++
- Count common subsequence in two strings in C++
- Print common characters of two Strings in alphabetical order in C++

Advertisements