An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once.
Ex:- "code" and "oced" ✔
"heist" and "sheit" ✔
"lane" and "line" ✖
Algorithm:- 1. check both strings are of equal length if yes then proceed to step 2 otherwise print "NO"
2. sort the characters of both strings either in ascending or
descending order.
3. Check if both string are equal or not.
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import java.util.Arrays; import java.util.Scanner; public class CheckAnagram { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); String str2 = sc.next(); if (str.length()==str2.length()) { char[] arr1 = str.toCharArray(); char[] arr2 = str2.toCharArray(); Arrays.sort(arr1); Arrays.sort(arr2); String s = new String(arr1); String s1 = new String(arr2); if (s.equals(s1)) System.out.println("String is Anagram"); else System.out.println("String is not Anagram"); } else System.out.println("String is not Anagram"); } } |
Python
def checkAnagrams(string1, string2): if len(string1)!=len(string2): return False else: str1_list = list(string1) str2_list = list(string2) str1_list.sort() str2_list.sort() if str(str1_list)==str(str2_list): return True return False string1 = input("Enter first string: ") string2 = input("Enter second string: ") print(checkAnagrams(string1,string2)) |