Check if a string is Colindrome - GeeksforGeeks

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

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++
Java
Python3
C#
// CPP program to check if a// string is Colindrome or not#include<bits/stdc++.h>using namespace std;  // Function to check if a string// is Colindrome or notbool 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 Codeint main(){       // Input string    string s = "cbbbbc";          if(colindrome(s))        cout<<"String is colindrome\n";    else        cout<<"Not ccolindrome";              return 0;}
// 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");        }    }}
# python program to check if a# string is Colindrome or not  # Function to check if a string# is Colindrome or notdef 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 Codeif __name__ == '__main__' :       # Input string    s = "cbbbbc";          if(colindrome(s)) :        print("String is colindrome")    else :        print("Not ccolindrome")  # contributed by Abhishek Sharma DTU.
// 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
String is colindrome

Abhishekk781
princiraj1992
C-String-Question
School Programming
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Constructors in Java
Exceptions in Java
Ternary Operator in Python
Inline Functions in C++
Difference between Abstract Class and Interface in Java
Destructors in C++
Pure Virtual Functions and Abstract Classes in C++
Python Exception Handling
Exception Handling in C++
Taking input from console in Python