Related Articles

# Check if a string is Colindrome

• Difficulty Level : Easy
• Last Updated : 10 Feb, 2020

Given a string, check if it is Colindrome or not. A string is said to be colindrome if it has consecutive 3 alphabets followed by the reverse of these 3 alphabets and so on.

Examples :

```Input : cappaccappac
Output : String is colindrome

Input : mollomaappaa
Output : String is Colindrome
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach : Take two empty strings s1 and s2, and start iterating over the given string. Take first three letters of the string and store it in s1, next three chars in s2 and then match s1 and s2. If they are same then do the same again till length of the given string else return false.

## C++

 `// CPP program to check if a``// string is Colindrome or not``#include``using` `namespace` `std;`` ` `// Function to check if a string``// is Colindrome or not``bool` `colindrome(string s)``{``    ``int` `i1 = 0;``     ` `    ``for` `(``int` `i = 0; i < s.length(); i++) {``     ` `        ``int` `i2 = i1 + 3;``     ` `        ``// Taking two empty Strings``        ``string s1 = ``""``;``        ``string s2 = ``""``;``     ` `        ``int` `c1 = 0, c2 = 0;``     ` `        ``// Iterate upto 3 letters``        ``for` `(i1 = i1; i1 < s.length(); i1++) {``            ``c1++;`` ` `            ``// concat each word with taken String``            ``s1 = s1 + s[i1];``            ``if` `(c1 == 3) {``                ``break``;``            ``}``        ``}`` ` `        ``// Iterate upto 3 letters``        ``for` `(i2 = i2; i2 < s.length(); i2++) {``            ``c2++;`` ` `            ``// concat each word with taken String``            ``s2 = s2 + s[i2];``            ``if` `(c2 == 3) {``                ``break``;``            ``}``        ``}`` ` `        ``// Reverse the second String``        ``string s3 = ``""``;``        ``for` `(``int` `k = s2.length() - 1; k >= 0; k--) {``            ``s3 = s3 + s2[k];``        ``}`` ` `        ``// Checks equality of two strings``        ``if` `(s1 != s3) {``            ``// If the two Strings are not same``            ``// then return false``            ``return` `false``;``        ``}`` ` `        ``// Increment first variable by 6 and``        ``// second variable by 3``        ``i1 = i1 + 6;``        ``i2 = i2 + 3;``    ``}``     ` `    ``return` `true``;``}`` ` `// Driver Code``int` `main()``{   ``    ``// Input string``    ``string s = ``"cbbbbc"``;``     ` `    ``if``(colindrome(s))``        ``cout<<``"String is colindrome\n"``;``    ``else``        ``cout<<``"Not ccolindrome"``;``         ` `    ``return` `0;``}`

## Java

 `// Java code to check if a given string is Colindrome.``public` `class` `Colindrome {`` ` `    ``// Function to check Colindrome``    ``static` `boolean` `colindrome(String s)``    ``{``        ``int` `i1 = ``0``;``        ``for` `(``int` `i = ``0``; i < s.length(); i++) {``            ``int` `i2 = i1 + ``3``;`` ` `            ``// Taking two empty Strings``            ``String s1 = ``""``;``            ``String s2 = ``""``;``            ``int` `c1 = ``0``, c2 = ``0``;`` ` `            ``// Iterate upto 3 letters``            ``for` `(i1 = i1; i1 < s.length(); i1++) {``                ``c1++;`` ` `                ``// concat each word with taken String``                ``s1 = s1 + s.charAt(i1);``                ``if` `(c1 == ``3``) {``                    ``break``;``                ``}``            ``}`` ` `            ``// Iterate upto 3 letters``            ``for` `(i2 = i2; i2 < s.length(); i2++) {``                ``c2++;`` ` `                ``// concat each word with taken String``                ``s2 = s2 + s.charAt(i2);``                ``if` `(c2 == ``3``) {``                    ``break``;``                ``}``            ``}`` ` `            ``// Reverse the second String``            ``String s3 = ``""``;``            ``for` `(``int` `k = s2.length() - ``1``; k >= ``0``; k--) {``                ``s3 = s3 + s2.charAt(k);``            ``}`` ` `            ``// Checks equality of two strings``            ``if` `(s1.equals(s3) != ``true``) {``                ``// If the two Strings are not same then return false``                ``return` `false``;``            ``}`` ` `            ``// Increment first variable by 6 and second variable by 3``            ``i1 = i1 + ``6``;``            ``i2 = i2 + ``3``;``        ``}``        ``return` `true``;``    ``}`` ` `    ``// Driver code``    ``public` `static` `void` `main(String[] args)``    ``{``        ``String s = ``"cbbbbc"``;``        ``boolean` `b = colindrome(s);``        ``if` `(b) {``            ``System.out.println(``"String is colindrome"``);``        ``}``        ``else` `{``            ``System.out.println(``"Not Colindrome"``);``        ``}``    ``}``}`

## Python3

 `# python program to check if a``# string is Colindrome or not`` ` `# Function to check if a string``# is Colindrome or not``def` `colindrome(s):``    ``i1 ``=` `0``    ``for` `i ``in` `range` `(``0``, ``len``(s)):``        ``i2 ``=` `i1 ``+` `3`` ` `        ``# Taking two empty Strings``        ``s1 ``=` `""``        ``s2 ``=` `""``     ` `        ``c1 ``=` `0``; c2 ``=` `0``;``     ` `        ``# Iterate upto 3 letters``        ``while``(i1 < ``len``(s)):``            ``c1 ``+``=` `1`` ` `            ``# concat each word with taken String``            ``s1 ``=` `s1 ``+` `s[i1]``            ``if` `(c1 ``=``=` `3``) : ``break``            ``i1 ``+``=` `1`` ` `        ``# Iterate upto 3 letters``        ``while``(i2 < ``len``(s)):``            ``c2 ``+``=` `1`` ` `            ``# concat each word with taken String``            ``s2 ``=` `s2 ``+` `s[i2]``            ``if` `(c2 ``=``=` `3``) : ``break``            ``i2 ``+``=` `1`` ` `        ``# Reverse the second String``        ``s3 ``=` `""``        ``for` `k ``in` `range``(``len``(s2)``-``1``, ``-``1``, ``-``1``) :``            ``s3 ``=` `s3 ``+` `s2[k]`` ` `        ``# Checks equality of two strings``        ``if` `(s1 !``=` `s3) :``            ``# If the two Strings are not same``            ``# then return false``            ``return` `False`` ` `        ``# Increment first variable by 6 and``        ``# second variable by 3``        ``i1 ``=` `i1 ``+` `6``        ``i2 ``=` `i2 ``+` `3`` ` `    ``return` `True`` ` `# Driver Code``if` `__name__ ``=``=` `'__main__'` `: `` ` `    ``# Input string``    ``s ``=` `"cbbbbc"``;``     ` `    ``if``(colindrome(s)) :``        ``print``(``"String is colindrome"``)``    ``else` `:``        ``print``(``"Not ccolindrome"``)`` ` `# contributed by Abhishek Sharma DTU.`

## C#

 `// C# code to check if a given string is Colindrome.``using` `System;`` ` `public` `class` `Colindrome``{`` ` `    ``// Function to check Colindrome``    ``static` `bool` `colindrome(String s)``    ``{``        ``int` `i1 = 0;``        ``for` `(``int` `i = 0; i < s.Length; i++) ``        ``{``            ``int` `i2 = i1 + 3;`` ` `            ``// Taking two empty Strings``            ``String s1 = ``""``;``            ``String s2 = ``""``;``            ``int` `c1 = 0, c2 = 0;`` ` `            ``// Iterate upto 3 letters``            ``for` `(i1 = i1; i1 < s.Length; i1++)``            ``{``                ``c1++;`` ` `                ``// concat each word with taken String``                ``s1 = s1 + s[i1];``                ``if` `(c1 == 3)``                ``{``                    ``break``;``                ``}``            ``}`` ` `            ``// Iterate upto 3 letters``            ``for` `(i2 = i2; i2 < s.Length; i2++)``            ``{``                ``c2++;`` ` `                ``// concat each word with taken String``                ``s2 = s2 + s[i2];``                ``if` `(c2 == 3) ``                ``{``                    ``break``;``                ``}``            ``}`` ` `            ``// Reverse the second String``            ``String s3 = ``""``;``            ``for` `(``int` `k = s2.Length - 1; k >= 0; k--)``            ``{``                ``s3 = s3 + s2[k];``            ``}`` ` `            ``// Checks equality of two strings``            ``if` `(s1.Equals(s3) != ``true``)``            ``{``                ``// If the two Strings are not ``                ``// same then return false``                ``return` `false``;``            ``}`` ` `            ``// Increment first variable by 6 and ``            ``// second variable by 3``            ``i1 = i1 + 6;``            ``i2 = i2 + 3;``        ``}``        ``return` `true``;``    ``}`` ` `    ``// Driver code``    ``public` `static` `void` `Main(String[] args)``    ``{``        ``String s = ``"cbbbbc"``;``        ``bool` `b = colindrome(s);``        ``if` `(b)``        ``{``            ``Console.WriteLine(``"String is colindrome"``);``        ``}``        ``else` `        ``{``            ``Console.WriteLine(``"Not Colindrome"``);``        ``}``    ``}``}`` ` `// This code is contributed by PrinciRaj1992`
Output:
```String is colindrome
```

Attention reader! Don’t stop learning now. Join the First-Step-to-DSA Course for Class 9 to 12 students , specifically designed to introduce data structures and algorithms to the class 9 to 12 students

My Personal Notes arrow_drop_up