Java Anagrams

Sort by

recency

|

2525 Discussions

|

  • + 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;
    
    }
    
  • + 0 comments
    static boolean isAnagram(String a, String b) {
            // Complete the function
            if(a.length()!=b.length()) return false;
            a = a.toLowerCase();
            b = b.toLowerCase();
            for(int i=0;i<a.length();i++){
                if(a.replaceAll(String.valueOf(a.charAt(i)),"").length() !=
                        b.replaceAll(String.valueOf(a.charAt(i)),"").length())return false;
            }
            return true;
        }
    
  • + 0 comments

    using replaceAll & recursive

    static boolean isAnagram(String a, String b) {
            // Complete the function
            boolean rs = false;
            a = a.toLowerCase();
            b = b.toLowerCase();
            String s = a.substring(0,1); 
            if(a.length() == b.length()){
                a = a.replaceAll(s, "");
                b = b.replaceAll(s, "");
                if(a.length() > 0){
                    rs = isAnagram(a,b);
                } else {
                    rs =true;
                }
            }       
            return rs; 
        }
    
  • + 0 comments

    That’s a really clear explanation of the anagram problem! I like how it points out that the check should be case-insensitive, which sometimes gets overlooked. cbtfturbo247 login