Java Anagrams

Sort by

recency

|

2516 Discussions

|

  • + 0 comments

    Very Simple and Easy logic

    static boolean isAnagram(String a, String b) { if(a.length()!=b.length()) { return false; }

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

    easy to understand:

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

    For u guys

    static boolean isAnagram(String a, String b) {
            // Complete the function
            if(a.length()!=b.length()){
                return false;
            }
            String[] arrayA = a.toUpperCase().split("");
            String[] arrayB = b.toUpperCase().split("");
            
            boolean isAnagram = true;
            
            for (int i = 0; i <= arrayA.length -1; i ++){
                
                boolean existLetter = false;
                
                for (int x = 0; x < arrayB.length; x ++){
                    if(arrayA[i].equals(arrayB[x])){
                        existLetter = true;
                        String[] arrayBTemp = new String[arrayB.length - 1];
                        for(int y = 0, f = 0; y < arrayB.length; y++){
                            if(y!=x){
                                arrayBTemp[f++] = arrayB[y] ;
                            }
                        }
    
                        arrayB = arrayBTemp;
                        break;
                    }
                }
                
                if(!existLetter){
                    isAnagram = false;
                    break;
                }
                
            }
            
            return isAnagram;
        }
    
  • + 0 comments

    public class HR080803Frequency { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); String b = sc.next(); sc.close();

        boolean ret = isAnagram(a, b);
        System.out.println(ret ? "Anagrams" : "Not Anagrams");
    }
    
    public static boolean isAnagram(String a, String b) {
        a = a.toLowerCase();
        b = b.toLowerCase();
    
        if (a.length() != b.length()) return false;
    
        int[][] compare = new int[26][2]; // 26 chữ cái a-z
    
        for (int i = 0; i < a.length(); i++) {
            compare[a.charAt(i) - 'a'][0]++;
            compare[b.charAt(i) - 'a'][1]++;
        }
    
        for (int i = 0; i < 26; i++) {
            if (compare[i][0] != compare[i][1]) return false;
        }
        return true;
    }