How to make two strings anagram by removing characters in Java

1 Answer

0 votes
public class MyClass {
    String str1; 
    String str2; 
     
    public MyClass(String s1, String s2) {
        this.str1 = s1;
        this.str2 = s2;
    }    
    public void RemoveCharactersNeedToBeRemovedForAnagram() {
        int TotalABCLetters = 26;
           
        int count1[] = new int[TotalABCLetters];
        int count2[] = new int[TotalABCLetters];
           
        int size1 = str1.length();
        int size2 = str2.length();
   
        // count char frequency str1
        for (int i = 0; i < size1; i++) {
            count1[str1.charAt(i) - 'a']++;
        }
       
        // count char frequency str2
        for (int i = 0; i < size2; i++) {
            count2[str2.charAt(i) - 'a']++;
        }
      
        for (int i = 0; i < TotalABCLetters; i++) {
            if (Math.abs(count1[i] - count2[i]) != 0) {
                str1 = str1.replaceAll(Character.toString(i + 'a'), "");
                str2 = str2.replaceAll(Character.toString(i + 'a'), "");
            }
        }
    }
    public void Print() {
        System.out.println(str1);
        System.out.println(str2);
    }
  
    public static void main(String args[]) {
        MyClass obj = new MyClass("masterfx", "ksampret");
         
        obj.RemoveCharactersNeedToBeRemovedForAnagram();
         
        obj.Print();
    }
}
  
  
  
  
  
/*
run:
    
master
samret
    
*/

 



answered Sep 29, 2022 by avibootz
edited Sep 30, 2022 by avibootz

Related questions

1 answer 117 views
1 answer 146 views
1 answer 145 views
1 answer 120 views
1 answer 130 views
...