Java Anagrams

Sort by

recency

|

2543 Discussions

|

  • + 0 comments

    It’s a great exercise for improving basic programming logic and string handling skills. play kro

  • + 0 comments

    if you are coding in java 15 then it is helpful for you ublic class Solution {

    public static void main(String[] args) {
        /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
         Scanner scanner = new Scanner(System.in);
        String a = scanner.nextLine().toLowerCase();
        String b = scanner.nextLine().toLowerCase();
        scanner.close();
    
        System.out.println(isAnagram(a, b) ? "Anagrams" : "Not Anagrams");
    }
    
    private static boolean isAnagram(String a, String b) {
        String[] aArr = a.split("");
        String[] bArr = b.split("");
        Arrays.sort(aArr);
        Arrays.sort(bArr);
    
        return String.join("", aArr).equals(String.join("", bArr));
    }
    

    }

  • + 0 comments

    //using StringBuffer

    static boolean isAnagram(String a, String b) {

                int n = a.length();
        boolean flag = (n==b.length())?true:false;
        if (!flag) return flag;
    
        StringBuffer sb = new StringBuffer(a.toLowerCase());
        for(char c : b.toLowerCase().toCharArray()){
            if(sb.lastIndexOf(String.valueOf(c))>=0)
                sb.deleteCharAt(sb.lastIndexOf(String.valueOf(c)));
            else
                break;
        }
    
        return (sb.length()==0)?flag:false;
    }
    
  • + 0 comments

    It’s a great exercise for practicing string normalization, frequency comparison, and writing clean, readable functions that return accurate boolean results. Radheexch xyz

  • + 0 comments

    // Solution without Arrays.sort()

     static boolean isAnagram(String a, String b) {
        // Complete the function
        char[] arrayA = a.toLowerCase().toCharArray();
        char[] arrayB = b.toLowerCase().toCharArray();
    
        if(arrayA.length == arrayB.length){
            char temp;
    
                        //Sort arrayA
            for(int i = 0; i < arrayA.length; i++){
                for(int j = i+1; j < arrayA.length; j++){
                    if(arrayA[i] > arrayA[j]){
                        temp = arrayA[i];
                        arrayA[i] = arrayA[j];
                        arrayA[j] = temp;
                    }                      
                }
            }
    
                        //Sort arrayB
            for(int i = 0; i < arrayB.length; i++){
                for(int j = i+1; j < arrayB.length; j++){
                    if(arrayB[i] > arrayB[j]){
                        temp = arrayB[i];
                        arrayB[i] = arrayB[j];
                        arrayB[j] = temp;
                    }            
                }
            }
    
                        //Compare arrayA and arrayB
            for(int i = 0; i < arrayA.length; i++){
                if(arrayA[i] != arrayB[i]){
                    return false;
                }                
            }
            return true;
    
        }
        return false;
    }