Check if a string is Isogram or not

27 Jan, 2022
Given a word or phrase, check if it is isogram or not. An Isogram is a word in which no letter occurs more than once.Examples:  
Input : Machine
Output : True
"Machine" does not have any character repeating, 
it is an Isogram

Input : Geek
Output : False
"Geek" has 'e' as repeating character, 
it is not an Isogram
 
 
C++
Java
Python3
C#
Javascript
// C++ program to check// if a given string is isogram or not#include <bits/stdc++.h>using namespace std; // Function to check// if a given string is isogram or notstring is_isogram(string str){    int len = str.length();     // Convert the string in lower case letters    for (int i = 0; i < len; i++)        str[i] = tolower(str[i]);     sort(str.begin(), str.end());     for (int i = 0; i < len; i++) {        if (str[i] == str[i + 1])            return "False";    }    return "True";} // driver programint main(){    string str1 = "Machine";    cout << is_isogram(str1) << endl;     string str2 = "isogram";    cout << is_isogram(str2) << endl;     string str3 = "GeeksforGeeks";    cout << is_isogram(str3) << endl;     string str4 = "Alphabet";    cout << is_isogram(str4) << endl;     return 0;} // Contributed by nuclode
// Java program to check// if a given string is isogram or notimport java.io.*;import java.util.*; class GFG {    // Function to check    // if a given string is isogram or not    static boolean is_isogram(String str)    {        // Convert the string in lower case letters        str = str.toLowerCase();        int len = str.length();         char arr[] = str.toCharArray();         Arrays.sort(arr);        for (int i = 0; i < len - 1; i++) {            if (arr[i] == arr[i + 1])                return false;        }        return true;    }     // driver program    public static void main(String[] args)    {        String str1 = "Machine";        System.out.println(is_isogram(str1));         String str2 = "isogram";        System.out.println(is_isogram(str2));         String str3 = "GeeksforGeeks";        System.out.println(is_isogram(str3));         String str4 = "Alphabet";        System.out.println(is_isogram(str4));    }} // Contributed by Pramod Kumar
# Python program to check# if a word is isogram or notdef is_isogram(word):     # Convert the word or sentence in lower case letters.    clean_word = word.lower()     # Make an empty list to append unique letters    letter_list = []     for letter in clean_word:         # If letter is an alphabet then only check        if letter.isalpha():            if letter in letter_list:                return False            letter_list.append(letter)     return True if __name__ == '__main__':  print(is_isogram("Machine"))                              print(is_isogram("isogram"))                          print(is_isogram("GeeksforGeeks"))                      print(is_isogram("Alphabet "))                                              
// C# program to check if a given// string is isogram or notusing System; public class GFG {         // Function to check if a given    // string is isogram or not    static bool is_isogram(string str)    {        // Convert the string in lower case letters        str = str.ToLower();        int len = str.Length;         char[] arr = str.ToCharArray();         Array.Sort(arr);        for (int i = 0; i < len - 1; i++) {            if (arr[i] == arr[i + 1])                return false;        }        return true;    }     // driver program    public static void Main()    {        string str1 = "Machine";        Console.WriteLine(is_isogram(str1));         string str2 = "isogram";        Console.WriteLine(is_isogram(str2));         string str3 = "GeeksforGeeks";        Console.WriteLine(is_isogram(str3));         string str4 = "Alphabet";        Console.WriteLine(is_isogram(str4));    }} // This code is contributed by Sam007
<script>    // Javascript program to check if a given    // string is isogram or not         // Function to check if a given    // string is isogram or not    function is_isogram(str)    {        // Convert the string in lower case letters        str = str.toLowerCase();        let len = str.length;          let arr = str.split('');          arr.sort();        for (let i = 0; i < len - 1; i++) {            if (arr[i] == arr[i + 1])                return false;        }        return true;    }         let str1 = "Machine";    if(is_isogram(str1))    {        document.write("True" + "</br>");    }    else{        document.write("False" + "</br>");    }     let str2 = "isogram";    if(is_isogram(str2))    {        document.write("True" + "</br>");    }    else{        document.write("False" + "</br>");    }     let str3 = "GeeksforGeeks";    if(is_isogram(str3))    {        document.write("True" + "</br>");    }    else{        document.write("False" + "</br>");    }     let str4 = "Alphabet";    if(is_isogram(str4))    {        document.write("True" + "</br>");    }    else{        document.write("False" + "</br>");    }         // This code is contributed by suresh07.</script>
Output:  
True
True
False
False
Another approach : In this, count of characters of string are stored in hashmap, and wherever it is found to be greater than 1 for any char, return false else return true.  
C++
Java
Python3
C#
Javascript
// CPP code to check string is isogram or not#include <bits/stdc++.h> using namespace std; // function to check isogrambool check_isogram(string str){     int length = str.length();    int mapHash[26] = { 0 };     // loop to store count of chars and check if it is greater than 1    for (int i = 0; i < length; i++)    {        mapHash[str[i] - 'a']++;         // if count > 1, return false        if (mapHash[str[i]-'a'] > 1)        {            return false;        }    }     return true;} // Driver codeint main(){    string str = "geeks";    string str2 = "computer";     // checking str as isogram    if (check_isogram(str)) {        cout << "True" << endl;    }    else {        cout << "False" << endl;    }     // checking str2 as isogram    if (check_isogram(str2)) {        cout << "True" << endl;    }    else {        cout << "False" << endl;    }     return 0;}
// Java code to check string is isogram or notclass GFG{ // function to check isogramstatic boolean check_isogram(String str){     int length = str.length();    int mapHash[] = new int[26];     // loop to store count of chars and    // check if it is greater than 1    for (int i = 0; i < length; i++)    {        mapHash[str.charAt(i) - 'a']++;         // if count > 1, return false        if (mapHash[str[i]-'a'] > 1)        {            return false;        }    }     return true;} // Driver codepublic static void main(String[] args){    String str = "geeks";    String str2 = "computer";     // checking str as isogram    if (check_isogram(str))        System.out.println("True");    else        System.out.println("False");     // checking str2 as isogram    if (check_isogram(str2))            System.out.println("True");    else        System.out.println("False");    }} // This code contributed by Rajput-Ji
# Python3 code to check string is isogram or not # function to check isogramdef check_isogram(string) :     length = len(string);    mapHash = [0] * 26;     # loop to store count of chars    # and check if it is greater than 1    for i in range(length) :             mapHash[ord(string[i]) - ord('a')] += 1;         # if count > 1, return false        if (mapHash[ord(string[i]) - ord('a')] > 1) :                     return False;     return True; # Driver codeif __name__ == "__main__" :     string = "geeks";    string2 = "computer";     # checking str as isogram    if (check_isogram(string)) :        print("True");    else :        print("False");     # checking str2 as isogram    if (check_isogram(string2)) :        print("True")     else :        print("False"); # This code is contributed by AnkitRai01
// C# code to check string is isogram or notusing System;public class GFG{  // function to check isogramstatic bool check_isogram(String str){      int length = str.Length;    int []mapHash = new int[26];      // loop to store count of chars and    // check if it is greater than 1    for (int i = 0; i < length; i++)    {        mapHash[str[i] - 'a']++;          // if count > 1, return false        if (mapHash[str[i] - 'a'] > 1)        {            return false;        }    }      return true;}  // Driver codepublic static void Main(String[] args){    String str = "geeks";    String str2 = "computer";      // checking str as isogram    if (check_isogram(str))        Console.WriteLine("True");    else        Console.WriteLine("False");      // checking str2 as isogram    if (check_isogram(str2))            Console.WriteLine("True");    else        Console.WriteLine("False");    }} // This code has been contributed by 29AjayKumar
<script>    // Javascript code to check string is isogram or not         // function to check isogram    function check_isogram(str)    {         let length = str.length;        let mapHash = new Array(26);        mapHash.fill(0);         // loop to store count of chars and        // check if it is greater than 1        for (let i = 0; i < length; i++)        {            mapHash[str[i].charCodeAt() - 'a'.charCodeAt()]++;             // if count > 1, return false            if (mapHash[str[i].charCodeAt() - 'a'.charCodeAt()] > 1)            {                return false;            }        }         return true;    }         let str = "geeks";    let str2 = "computer";        // checking str as isogram    if (check_isogram(str))        document.write("True" + "</br>");    else        document.write("False" + "</br>");        // checking str2 as isogram    if (check_isogram(str2))          document.write("True" + "</br>");    else        document.write("False" + "</br>");         // This code is contributed by divyeshrabadiya07.</script>
Output :  
False
True
// Thanks Sahil Bansal for suggesting the above method.  
Check if String is Isogram | Data Structures & Algorithms | Programming Tutorials | GeeksforGeeks - YouTubeGeeksforGeeks531K subscribersCheck if String is Isogram | Data Structures & Algorithms | Programming Tutorials | GeeksforGeeksWatch laterShareCopy linkInfoShoppingTap to unmuteIf playback doesn't begin shortly, try restarting your device.More videosMore videosYou're signed outVideos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer.CancelConfirmSwitch cameraShareInclude playlistAn error occurred while retrieving sharing information. Please try again later.Watch on0:000:000:00 / 10:46•Live•<div class="player-unavailable"><h1 class="message">An error occurred.</h1><div class="submessage"><a href="https://www.youtube.com/watch?v=Y3T03b8cQ2k" target="_blank">Try watching this video on www.youtube.com</a>, or enable JavaScript if it is disabled in your browser.</div></div>
This article is contributed by Sakshi Tiwari. If you like GeeksforGeeks (We know you do!) and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above. 
Sam007
Rajput-Ji
29AjayKumar
letsrock
ankthon
divyeshrabadiya07
suresh07
gargr0109
amartyaghoshgfg
Hash
Strings
Hash
Strings
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.