Java Anagrams

Sort by

recency

|

2529 Discussions

|

  • + 0 comments

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
    
        String a = sc.next();
        String b = sc.next();
        sc.close();
    
        isAnagram(a, b);  
    }
    
    static String sort(String s) {
    
        char[] charArray = s.toCharArray();
        Arrays.sort(charArray);
        return new String(charArray);
    }
    
    static void isAnagram(String a, String b) {
    
        System.out.print(sort(a.replace(" ", "").toLowerCase())
                            .equals(sort(b.replace(" ", "").toLowerCase())) 
                            ? "Anagrams" : "Not Anagrams");
    }
    

    }

  • + 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");
    }
    

    }