Dada una string, compruebe si todos los caracteres de la string son iguales o no.
Ejemplos:
Input : s = "geeks" Output : No Input : s = "gggg" Output : Yes
Manera simple
Para encontrar si una string tiene todos los mismos caracteres. Recorra toda la string desde el índice 1 y verifique si ese carácter coincide con el primer carácter de la string o no. En caso afirmativo, haga coincidir hasta el tamaño de la string. Si no, entonces rompa el ciclo.
C++
// C++ program to find whether the string // has all same characters or not. #include <iostream> using namespace std; bool allCharactersSame(string s) { int n = s.length(); for (int i = 1; i < n; i++) if (s[i] != s[0]) return false; return true; } // Driver code int main() { string s = "aaa"; if (allCharactersSame(s)) cout << "Yes"; else cout << "No"; return 0; }
Java
// Java program to find whether the String // has all same characters or not. import java.io.*; public class GFG{ static boolean allCharactersSame(String s) { int n = s.length(); for (int i = 1; i < n; i++) if (s.charAt(i) != s.charAt(0)) return false; return true; } // Driver code static public void main (String[] args){ String s = "aaa"; if (allCharactersSame(s)) System.out.println("Yes"); else System.out.println("No"); } } // This Code is contributed by vt_m.
Python3
# Python3 program to find whether the string # has all same characters or not. # Function to check the string has # all same characters or not . def allCharactersSame(s) : n = len(s) for i in range(1, n) : if s[i] != s[0] : return False return True # Driver code if __name__ == "__main__" : s = "aaa" if allCharactersSame(s) : print("Yes") else : print("No") # This code is contributed by ANKITRAI1
C#
// C# program to find whether the string // has all same characters or not. using System; public class GFG{ static bool allCharactersSame(string s) { int n = s.Length; for (int i = 1; i < n; i++) if (s[i] != s[0]) return false; return true; } // Driver code static public void Main (String []args){ string s = "aaa"; if (allCharactersSame(s)) Console.WriteLine("Yes"); else Console.WriteLine("No"); } } // This code is contributed by vt_m.
PHP
<?php // PHP program to find whether // the string has all same // characters or not. function allCharactersSame($s) { $n = strlen($s); for ($i = 1; $i < $n; $i++) if ($s[$i] != $s[0]) return false; return true; } // Driver code $s = "aaa"; if (allCharactersSame($s)) echo "Yes"; else echo "No"; // This code is contributed // by ChitraNayal ?>
Javascript
<script> // Javascript program to find whether the string // has all same characters or not. function allCharactersSame(s) { let n = s.length; for (let i = 1; i < n; i++) if (s[i] != s[0]) return false; return true; } let s = "aaa"; if (allCharactersSame(s)) document.write("Yes"); else document.write("No"); // This code is contributed by suresh07. </script>
Yes
Complejidad de tiempo: O(n)
Aquí n es la longitud de la string.
Espacio Auxiliar: O(1)
Como espacio adicional constante se utiliza.
Quick Way (no en términos de complejidad de tiempo, sino en términos de número de líneas de código)
La idea es usar find_first_not_of() en C++ STL.
find_first_not_of() encuentra y devuelve la posición del primer carácter que no coincide con un carácter específico (o cualquiera de los caracteres especificados en el caso de una string).
C++
// A quick C++ program to find whether the // string has all same characters or not. #include <iostream> using namespace std; bool allCharactersSame(string s) { return (s.find_first_not_of(s[0]) == string::npos); } // Driver code int main() { string s = "aaa"; if (allCharactersSame(s)) cout << "Yes"; else cout << "No"; return 0; }
Yes
Otra forma es usando un SET
La idea es agregar todos los caracteres de una string a un conjunto. Después de agregar, si el tamaño del conjunto es mayor que 1, significa que hay diferentes caracteres presentes, si el tamaño es exactamente 1, significa que solo hay un carácter único.
A continuación se muestra la implementación de la lógica anterior.
C++
// C++ program for above approach #include <bits/stdc++.h> using namespace std; // Function to check is all the // characters in string are or not void allCharactersSame(string s) { set <char> s1; // Insert characters in the set for ( int i=0 ; i < s.length() ; i++) s1.insert(s[i]); // If all characters are same // Size of set will always be 1 if ( s1.size() == 1 ) cout << "YES"; else cout << "NO"; } // Driver code int main() { string str = "nnnn"; allCharactersSame(str); return 0; }
Java
// Java program for above approach import java.io.*; import java.util.*; class GFG{ // Function to check is all the // characters in string are or not public static void allCharactersSame(String s) { Set<Character> s1 = new HashSet<Character>(); // Insert characters in the set for(int i = 0; i < s.length(); i++) s1.add(s.charAt(i)); // If all characters are same // Size of set will always be 1 if (s1.size() == 1) System.out.println("YES"); else System.out.println("NO"); } // Driver Code public static void main(String[] args) { String str = "nnnn"; allCharactersSame(str); } } // This code is contributed by divyeshrabadiya07
Python3
# Python3 program for # the above approach # Function to check is # all the characters in # string are or not def allCharactersSame(s): s1 = [] # Insert characters in # the set for i in range(len(s)): s1.append(s[i]) # If all characters are same # Size of set will always be 1 s1 = list(set(s1)) if(len(s1) == 1): print("YES") else: print("NO") # Driver code Str = "nnnn" allCharactersSame(Str) # This code is contributed by avanitrachhadiya2155
C#
// C# program for above approach using System; using System.Collections.Generic; class GFG{ // Function to check is all the // characters in string are or not static void allCharactersSame(string s) { HashSet<char> s1 = new HashSet<char>(); // Insert characters in the set for(int i = 0; i < s.Length; i++) s1.Add(s[i]); // If all characters are same // Size of set will always be 1 if (s1.Count == 1) Console.WriteLine("YES"); else Console.WriteLine("NO"); } // Driver code static void Main() { string str = "nnnn"; allCharactersSame(str); } } // This code is contributed by divyesh072019
Javascript
<script> // Javascript program for above approach // Function to check is all the // characters in string are or not function allCharactersSame(s) { let s1 = new Set(); // Insert characters in the set for(let i = 0; i < s.length; i++) { s1.add(s[i]); } // If all characters are same // Size of set will always be 1 if (s1.size == 1) document.write("YES"); else document.write("NO"); } // Driver Code let str = "nnnn"; allCharactersSame(str); //This code is contributed by rag2127 </script>
YES
Complejidad de tiempo: O (nLogn)
Como la inserción en un conjunto lleva tiempo Logn y estamos insertando n elementos.
Espacio Auxiliar: O(n)
El espacio adicional se utiliza para almacenar los elementos en el conjunto.
Este artículo es una contribución de Jatin Goyal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA