Java Anagrams

Sort by

recency

|

2466 Discussions

|

  • + 0 comments

    import java.util.Scanner;

    public class Solution {

    static boolean isAnagram(String a, String b) {
        a = a.replaceAll("\\s", "").toLowerCase();
        b=b.replaceAll("\\s", "").toLowerCase();
    
        char[] ch1 = a.toCharArray();
        char [] ch2 = b.toCharArray();
    
       java.util.Arrays.sort(ch1);
       java.util.Arrays.sort(ch2);
    
       String s1 = new String(ch1);
       String s2= new String (ch2);
    
       if( s1.equals(s2)){
        return true;
       }
       else {
        return false;
       }
    
    }
    
  • + 0 comments

    I did like this Found it more simly to transform it into a char array sort it and compare:

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

    public class Solution {

    public static void main(String[] args) {
    
        Scanner in = new Scanner(System.in);
        String a = in.nextLine().toLowerCase();
        String b = in.nextLine().toLowerCase();
        in.close();
    
        char[] arrayA = a.toCharArray();
        char[] arrayB = b.toCharArray();
    
        Arrays.sort(arrayA); 
        Arrays.sort(arrayB); 
    
        if(Arrays.equals(arrayA, arrayB)){
            System.out.println("Anagrams");
        } else {System.out.println("Not Anagrams");}
    
    
    
    }
    

    }

  • + 0 comments

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

    public class Solution {

    public static void main(String[] args) {
    
        Scanner scanner = new Scanner(System.in) ;
    
        String word1 = scanner.next();
        scanner.nextLine();
        String word2 = scanner.next();
    
        word1 = word1.toLowerCase();
        word2 = word2.toLowerCase();
    
        HashMap<Character, Integer> map1 = new HashMap<>();
        HashMap<Character, Integer> map2 = new HashMap<>();
    
        if (word1.length() == word2.length()) {
            for (int i=0 ; i < word1.length() ; i++) {
    
                Character letter1 = word1.charAt(i) ;
                Character letter2 = word2.charAt(i) ;
    
                if (map1.containsKey(word1.charAt(i))) {
    
                    map1.put(letter1, map1.get(letter1)+1);
                } else {
    
                    map1.put(letter1, 1) ;
                }
    
    
                if (map2.containsKey(word2.charAt(i))) {
    
                    map2.put(letter2, map2.get(letter2)+1);
                } else {
    
                    map2.put(letter2, 1) ;
                }
    
            }
    
            if (map1.equals(map2)) {
            System.out.println("Anagrams");
            } else {
                System.out.println("Not Anagrams") ;
            }
        } else {
            System.out.println("Not Anagrams") ;
        }
    
    
    
    }
    

    }

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