Tuesday, 3 May 2022

Check whether given strings are anagram with each other

Problem statement: We have two strings  "abc" & "bac" and verify whether both string have same alphabets in any order


Sample input1:

"abc" & "bac"

Output1: 

Anagram


Sample input2:

"abc" & "aba"

Output2: 

Not Anagram

public void checkAnagram() {

  System.out.println("checkAnagram:");

  System.out.println("-------------");

  String input1="aba",input2="baa";

  Map<Character, Integer> map1=new HashMap<Character, Integer>();

  Map<Character, Integer> map2=new HashMap<Character, Integer>();

  if(input1.length()==input2.length()) {

  for(int i=0;i<input1.length();i++) {

if(!map1.containsKey(input1.charAt(i))) {

map1.put(input1.charAt(i), 1);

}

else {

map1.put(input1.charAt(i),map1.get(input1.charAt(i))+1);

}

if(!map2.containsKey(input2.charAt(i))) {

map2.put(input2.charAt(i), 1);

}

else {

map2.put(input2.charAt(i), map2.get(input2.charAt(i))+1);

}

  }

  if(map1.equals(map2)) {

System.out.println("Anagram");

  }

  else {

  System.out.println("Not Anagram");

  }

 }

  else {

  System.out.println("Not Anagram");

  }

}


Output: 

Anagram

No comments:

Post a Comment

Switch case in Java

 Problem statement: Return the capital of a state based on input state          public String getCapital(String state){               switch...