Java Anagrams

Sort by

recency

|

2528 Discussions

|

  • + 0 comments
    import java.util.Scanner;
    
    public class Solution {
    
        static boolean isAnagram(String a, String b) {
            if(a.length()!=b.length()) return false;
            
            a=a.toUpperCase();
            b=b.toUpperCase();
            char[] char_Arr=new char[256]; 
            
            for(int i=0;i<a.length();i++){
                int current_char=(int)a.charAt(i);
                char_Arr[current_char]++;
            }
            
            for(int i=0;i<b.length();i++){
                int current_char=(int)b.charAt(i);
                char_Arr[current_char]--;
            }
            
            for(int i=0;i<char_Arr.length;i++){
                if(char_Arr[i]!=0){
                    return false;
                }
            }
            return true;   
        }
    
      public static void main(String[] args) {
        
            Scanner scan = new Scanner(System.in);
            String a = scan.next();
            String b = scan.next();
            scan.close();
            boolean ret = isAnagram(a, b);
            System.out.println( (ret) ? "Anagrams" : "Not Anagrams" );
        }
    }
    
  • + 0 comments

    Newbie + Effective solution

    static boolean isAnagram(String a, String b) {
            // Complete the function
            if(a.length()!=b.length())return false;
            
            a=a.toLowerCase();
            b=b.toLowerCase();
            
            int[] arr=new int[26];
            for(int i=0;i<a.length();++i){
                arr[(int)a.charAt(i)-97]++;
                arr[(int)b.charAt(i)-97]--;
            }
            for(int i=0;i<26;++i){
                if(arr[i]!=0)return false;
            }
            return true;
    
        }
    
  • + 0 comments

    Unique solution by replacing found chars:

        public static boolean isAnagram(String a, String b) {
            if (a.length() != b.length()) return false;
            a = a.toLowerCase();
            b = b.toLowerCase();
            for (int i=0;i<a.length();i++){
                b= b.replaceFirst(String.valueOf(a.charAt(i)), "");
                
            }
            return (b.equals("")) ?  true :  false;
        }
    
  • + 0 comments

    import java.io.; import java.util.;

    public class Solution {

    public static void main(String[] args) {
        Scanner obj=new Scanner(System.in);
        String s=obj.nextLine();
        String t=obj.nextLine();
        String s1=s.toLowerCase();
         String t1=t.toLowerCase();
         boolean anagram=true;
         if(s1.length()!=t1.length()){
            anagram=false;
         }
         char []s2=s1.toCharArray();
         char []t2=t1.toCharArray();
         Arrays.sort(s2);
         Arrays.sort(t2);
         if(Arrays.equals(s2,t2)==false){
            System.out.print("Not Anagrams");
    
         }
         else
         System.out.print("Anagrams");
    }
    

    }

  • + 0 comments

    static boolean isAnagram(String a, String b) { // Complete the function

        //To convert the String into charArray
        char[] aChar=a.toLowerCase().toCharArray();
        char[] bChar=b.toLowerCase().toCharArray();
    
        //To note the alaphabets frequency a to z
        int [] aInt=new int[26];
        int [] bInt=new int[26];
    
        byte counter=0;
    
        //Evaluting the frequency of a to z in the char Arrays
        for(char i='a';i<='z';i++){
            for(int j=0;j<aChar.length;j++){
                if(aChar[j]==i){
                    aInt[counter]+=1;
                }
            }
            for(int j=0;j<bChar.length;j++){
                if(bChar[j]==i){
                    bInt[counter]+=1;
                }
            }
            counter++;
        }
    
        //Comparing the both array aInt & bInt
    
        boolean flag=false;
        for(int m=0;m<26;m++){
            if(aInt[m]!=bInt[m]){
                return false;
            }else{
                flag=true;
            }
        }
        return flag;
    
    }