반응형
public static boolean isAnagram(String s1,String s2){
if(s1.length() != s2.length()) return false;
HashMap<Character,Integer> hm = new HashMap<>();
//s1
for(char c:s1.toCharArray()){
// 이미 글자가 있을때
if(hm.containsKey(c)) hm.put(c,hm.get(c) + 1);
else hm.put(c,1);
}
for(char c:s2.toCharArray()){
// 키가 없을 경우 -> s1 에는 포함되어있지만 s2에는 없다 라는것은 애너그램 관계가 아니다
if(!hm.containsKey(c)) return false;
// 글자가 없을 경우
if(hm.get(c) == 0) return false;
hm.put(c,hm.get(c) - 1);
}
return true;
}
반응형
'Algorithm' 카테고리의 다른 글
Java - WordCount (0) | 2017.05.28 |
---|---|
Java - Runlength 문자열 압축 (0) | 2017.05.28 |
Java - UniqChar Implement (0) | 2017.05.28 |
Java - Convert String to Integer (0) | 2017.05.28 |
Java String Clsss method (0) | 2017.05.28 |