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