[LintCode] Compare Strings

http://lintcode.com/en/problem/compare-strings/

public class Solution {
    /**
     * @param A : A string includes Upper Case letters
     * @param B : A string includes Upper Case letter
     * @return :  if string A contains all of the characters in B return true else return false
     */
    public boolean compareStrings(String A, String B) {
        // write your code here
        
        if (A == null || B == null)
            return false;
        
        Map<Character, Integer> map = new HashMap<>();
        for (char c : A.toCharArray())
        {
            Integer occurance = map.get(c);
            if (occurance == null)
                occurance = 0;
            occurance++;
            map.put(c, occurance);
        }
        
        for (char c : B.toCharArray())
        {
            Integer occurance = map.get(c);
            if (occurance == null || occurance == 0)
                return false;
            occurance--;
            map.put(c, occurance);
        }
        
        return true;
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章