1. 程式人生 > >Lintcode55 Compare Strings solution 題解

Lintcode55 Compare Strings solution 題解

lintcode題解

【題目描述】

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統計各字符出現的頻次,然後比較頻次大小即可。嗯,祭出萬能的哈希表。

【參考答案】

www.jiuzhang.com/solutions/compare-strings/

Lintcode55 Compare Strings solution 題解