Quick way to check if all the characters of a string are same
Last Updated :
23 Mar, 2023
Given a string, check if all the characters of the string are the same or not.
Examples:
Input : s = “geeks”
Output : No
Input : s = “gggg”
Output : Yes
Simple Way
To find whether a string has all the same characters. Traverse the whole string from index 1 and check whether that character matches the first character of the string or not. If yes, then match until string size. If no, then break the loop.
C++
#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 ;
}
int main()
{
string s = "aaa" ;
if (allCharactersSame(s))
cout << "Yes" ;
else
cout << "No" ;
return 0;
}
|
Java
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 ;
}
static public void main (String[] args){
String s = "aaa" ;
if (allCharactersSame(s))
System.out.println( "Yes" );
else
System.out.println( "No" );
}
}
|
Python3
def allCharactersSame(s) :
n = len (s)
for i in range ( 1 , n) :
if s[i] ! = s[ 0 ] :
return False
return True
if __name__ = = "__main__" :
s = "aaa"
if allCharactersSame(s) :
print ( "Yes" )
else :
print ( "No" )
|
C#
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 ;
}
static public void Main (String []args){
string s = "aaa" ;
if (allCharactersSame(s))
Console.WriteLine( "Yes" );
else
Console.WriteLine( "No" );
}
}
|
PHP
<?php
function allCharactersSame( $s )
{
$n = strlen ( $s );
for ( $i = 1; $i < $n ; $i ++)
if ( $s [ $i ] != $s [0])
return false;
return true;
}
$s = "aaa" ;
if (allCharactersSame( $s ))
echo "Yes" ;
else
echo "No" ;
?>
|
Javascript
<script>
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" );
</script>
|
Time Complexity: O(n), here n is the length of the string.
Auxiliary Space: O(1), as constant extra space is used.
Quick Way (Not time complexity wise, but in terms of number of lines of code)
The idea is to use find_first_not_of() in C++ STL.
find_first_not_of() finds and returns the position of the first character that does not match a specified character (or any of the specified characters in case of a string).
C++
#include <iostream>
using namespace std;
bool allCharactersSame(string s)
{
return (s.find_first_not_of(s[0]) == string::npos);
}
int main()
{
string s = "aaa" ;
if (allCharactersSame(s))
cout << "Yes" ;
else
cout << "No" ;
return 0;
}
|
Java
import java.util.*;
public class Main {
static boolean allCharactersSame(String s) {
for ( int i = 1 ; i < s.length(); i++) {
if (s.charAt(i) != s.charAt( 0 )) {
return false ;
}
}
return true ;
}
public static void main(String[] args) {
String s = "aaa" ;
if (allCharactersSame(s))
System.out.println( "Yes" );
else
System.out.println( "No" );
}
}
|
Python3
def allCharactersSame(s):
return all (c = = s[ 0 ] for c in s)
s = "aaa"
if allCharactersSame(s):
print ( "Yes" )
else :
print ( "No" )
|
C#
using System;
public class GFG {
static bool allCharactersSame( string s)
{
return (s.TrimStart(s[0]) == "" );
}
static public void Main()
{
string s = "aaa" ;
if (allCharactersSame(s))
Console.WriteLine( "Yes" );
else
Console.WriteLine( "No" );
}
}
|
Javascript
function allCharactersSame(s) {
return s.split( '' ).every(c => c === s[0]);
}
const s = "aaa" ;
if (allCharactersSame(s)) {
console.log( "Yes" );
} else {
console.log( "No" );
}
|
Time Complexity: O(N)
Auxiliary Space: O(1)
Quick Way (Not time complexity wise, but in terms of number of lines of code)
The idea is to use built-in [Tex]all() [/Tex] function in Python.
The [Tex]all() [/Tex] function returns True if all items in an iterable object are same with comparing character, otherwise it returns False. For empty iterable object, the [Tex]all() [/Tex] function also returns True.
Python3
s = "aaa"
all_same = all (ch = = s[ 0 ] for ch in s)
print (all_same)
|
Time Complexity: O(N) [For iteration]
Auxiliary Space: O(1)
One other way is using a SET
The idea is to add all the characters of a string to a set. After adding, if the size of the set is greater than 1, it means different characters are present, if the size is exactly 1, it means there is only one unique character.
Below is the implementation of the above logic.
C++
#include <bits/stdc++.h>
using namespace std;
void allCharactersSame(string s)
{
set < char > s1;
for ( int i=0 ; i < s.length() ; i++)
s1.insert(s[i]);
if ( s1.size() == 1 )
cout << "YES" ;
else
cout << "NO" ;
}
int main()
{
string str = "nnnn" ;
allCharactersSame(str);
return 0;
}
|
Java
import java.io.*;
import java.util.*;
class GFG{
public static void allCharactersSame(String s)
{
Set<Character> s1 = new HashSet<Character>();
for ( int i = 0 ; i < s.length(); i++)
s1.add(s.charAt(i));
if (s1.size() == 1 )
System.out.println( "YES" );
else
System.out.println( "NO" );
}
public static void main(String[] args)
{
String str = "nnnn" ;
allCharactersSame(str);
}
}
|
Python3
def allCharactersSame(s):
s1 = []
for i in range ( len (s)):
s1.append(s[i])
s1 = list ( set (s1))
if ( len (s1) = = 1 ):
print ( "YES" )
else :
print ( "NO" )
Str = "nnnn"
allCharactersSame( Str )
|
C#
using System;
using System.Collections.Generic;
class GFG{
static void allCharactersSame( string s)
{
HashSet< char > s1 = new HashSet< char >();
for ( int i = 0; i < s.Length; i++)
s1.Add(s[i]);
if (s1.Count == 1)
Console.WriteLine( "YES" );
else
Console.WriteLine( "NO" );
}
static void Main()
{
string str = "nnnn" ;
allCharactersSame(str);
}
}
|
Javascript
<script>
function allCharactersSame(s)
{
let s1 = new Set();
for (let i = 0; i < s.length; i++)
{
s1.add(s[i]);
}
if (s1.size == 1)
document.write( "YES" );
else
document.write( "NO" );
}
let str = "nnnn" ;
allCharactersSame(str);
</script>
|
Time Complexity: O(nLogn), As insertion in a set takes Logn time and we are inserting n elements.
Auxiliary Space: O(n), Extra space is used to store the elements in the set.
Similar Reads
Check if the characters of a given string are in alphabetical order
Given a string 's', the task is to find if the characters of the string are in alphabetical order. The string contains only lowercase characters. Examples: Input: Str = "aabbbcc" Output: In alphabetical order Input: Str = "aabbbcca" Output: Not in alphabetical order A simple approach: Store the stri
14 min read
Program to check if first and the last characters of string are equal
We are given a string, we need to check whether the first and last characters of the string str are equal or not. Case sensitivity is to be considered. Examples : Input : university Output : Not Equal Explanation: In the string "university", the first character is 'u' and the last character is 'y',
4 min read
Check if a given string is made up of two alternating characters
Given a string str, the task is to check whether the given string is made up of only two alternating characters.Examples: Input: str = "ABABABAB" Output: YesInput: str = "XYZ" Output: No Recommended: Please try your approach on {IDE} first, before moving on to the solution.Approach: In order for the
11 min read
Replace '?' in a string such that no two adjacent characters are same
Given a string S of length N consisting of "?" and lowercase letters, the task is to replace "?" with lowercase letters such that no adjacent characters are the same. If more than one possible combination exists, print any one of them. Examples: Input: S = "?a?a"Output: babaExplanation:Replacing all
9 min read
Check if a String contains any index with more than K active characters
Given a string S, containing lowercase English alphabets, and an integer K, the task is to find any index of the string which consists of more than K active characters. If found, print Yes. Otherwise, print No. Count of active characters for any index is the number of characters having previous occu
6 min read
Check whether the Average Character of the String is present or not
Given a string of alphanumeric characters, the task is to check whether the average character of the string is present or not. Average character refers to the character corresponding to the ASCII value which is the floor of the average value of the ASCII values of all characters in the string. Examp
7 min read
Check if both halves of the string have same set of characters
Given a string of lowercase characters only, the task is to check if it is possible to split a string from the middle which will give two halves having the same characters and same frequency of each character. If the length of the given string is ODD then ignore the middle element and check for the
12 min read
Check if there is any common character in two given strings
Given two strings. The task is to check that is there any common character in between two strings. Examples: Input: s1 = "geeksforgeeks", s2 = "geeks" Output: Yes Input: s1 = "geeks", s2 = "for" Output: No Approach: Traverse the 1st string and map the characters of the string with its frequency, in
8 min read
Print all the duplicate characters in a string
Given a string S, the task is to print all the duplicate characters with their occurrences in the given string. Example: Input: S = "geeksforgeeks"Output: e, count = 4 g, count = 2 k, count = 2 s, count = 2 Explanation: g occurs 2 times in the string, k occurs 2 times in the string, s occurs 2 times
8 min read
Python program to check if a string contains all unique characters
To implement an algorithm to determine if a string contains all unique characters. Examples: Input : s = "abcd" Output: True "abcd" doesn't contain any duplicates. Hence the output is True. Input : s = "abbd" Output: False "abbd" contains duplicates. Hence the output is False. One solution is to cre
3 min read