Java Anagrams

Sort by

recency

|

2463 Discussions

|

  • + 0 comments

    boolean isAnagram(String a, String b) {

        char [] a1 = a.toLowerCase().toCharArray();
        char [] a2 = b.toLowerCase().toCharArray();
        if (a1.length==a2.length){
            for (int i=0;i<a1.length;i++){
                if ((b.toLowerCase()).contains(a1[i]+"")){
                int ind = b.toLowerCase().indexOf(a1[i]);
                int count1 = 0;
                int count2 = 0;
                for (int j=0;j<a2.length;j++){
                    if (a1[i]==a1[j]){
                        count1++;
                    }
                    if (a2[ind]==a2[j]){
                        count2++;
                    }
                }
                if (count1!=count2){
                    return false;
                }
                }
                else{
                    return false;
                }
            }
            return true;
        }
        else{
            return false;
        }
    }
    
  • + 0 comments

    static boolean isAnagram(String a, String b) {

        if (a.length() != b.length()) return false;
    
        a = a.toLowerCase();
        b = b.toLowerCase();
        String newB = "";
    
        for (int i=0; i<a.length(); i++) {
            String check = String.valueOf(a.charAt(i));
    
            if (b.contains(check)) {
                newB += a.charAt(i);
                b = b.replaceFirst(check, "");
            }else {
                return false; 
            }
        }
    
        return a.contains(newB) && b.isEmpty();
    }
    
  • + 0 comments
        static boolean isAnagram(String a, String b) {        
            String lowercaseA = a.toLowerCase();
            String lowercaseB = b.toLowerCase();              
            String newB= "";
            if(a.length() == b.length()) {            
                for(int i=0; i< lowercaseA.length(); i++) {
                    String check = String.valueOf(lowercaseA.charAt(i));
                    if(lowercaseB.contains(check)) {
                        newB += lowercaseA.charAt(i);
                        lowercaseB = lowercaseB.replaceFirst(check, "");              
                    }
                }
                } else {
                    return false;
                }        
            if(lowercaseA.equals(newB)) {
                return true;
            }else {
                return false;
            }
        }
    
  • + 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();
        int[] s = new int[200];
        char[] a1 = a.toCharArray();
        char[] b1 = b.toCharArray();
        for (int i=0; i<a.length(); i++)
        {
            s[(int)a1[i]]++;
        }
        for (int i=0; i<b.length(); i++)
        {
            s[(int)b1[i]]--;
        }
        for (int num : s){
            if (num!=0) return false;
        }
        return true;
    }
    
  • + 0 comments

    This is my Soln -

    (kind of brute forcing my way , I know there can by more optimized soln but this came to mind 🥲😑 )

    static boolean isAnagram(String a, String b) {
            
            char [] a1 = a.toLowerCase().toCharArray();
            char [] a2 = b.toLowerCase().toCharArray();
            if (a1.length==a2.length){
                for (int i=0;i<a1.length;i++){
                    if ((b.toLowerCase()).contains(a1[i]+"")){
                    int ind = b.toLowerCase().indexOf(a1[i]);
                    int count1 = 0;
                    int count2 = 0;
                    for (int j=0;j<a2.length;j++){
                        if (a1[i]==a1[j]){
                            count1++;
                        }
                        if (a2[ind]==a2[j]){
                            count2++;
                        }
                    }
                    if (count1!=count2){
                        return false;
                    }
                    }
                    else{
                        return false;
                    }
                }
                return true;
            }
            else{
                return false;
            }
        }