Проверьте, является ли строка Colindrome
Опубликовано: 5 Марта, 2022
Учитывая строку, проверьте, является ли она Колиндромом или нет. Строка называется колиндромом, если у нее есть 3 последовательных алфавита, за которыми следуют обратные эти 3 алфавита и так далее.
Примеры :
Ввод: каппаккаппак Выход: Строка - колиндром Ввод: mollomaappaa Выход: Строка - Колиндром
Рекомендуется: сначала попробуйте свой подход в {IDE}, прежде чем переходить к решению.
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<bits/stdc++.h> 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
" ; 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