【題目描述】
Compare two strings A and B, determine whether A contains all of the characters in B.The characters in string A and B are all Upper Case letters.
Notice:The characters of B in A are not necessary continuous or ordered.
比較兩個字符串A和B,確定A中是否包含B中所有的字符。字符串A和B中的字符都是 大寫字母
注意:在 A 中出現的 B 字符串裏的字符不需要連續或者有序。
【題目鏈接】
www.lintcode.com/en/problem/compare-strings/
【題目解析】
題目意思是問B中的所有字符是否都在A中,而不是單個字符。比如B="AABC"包含兩個「A」,而A="ABCD"只包含一個「A」,故返回false.
既然不是類似strstr那樣的匹配,直接使用兩重循環就不太合適了。題目中另外給的條件則是A和B都是全大小單詞,理解題意後容易想到的方案就是先遍歷A和B統計各字符出現的頻次,然後比較頻次大小即可。嗯,祭出萬能的哈希表。
【參考答案】