LintCode 55 比较字符串
比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是 大写字母
注意事项
在 A 中出现的 B 字符串里的字符不需要连续或者有序。
样例
给出 A = "ABCD"
B = "ACD"
,返回 true
给出 A = "ABCD"
B = "AABC"
, 返回 false
思路:直接hash表
1 class Solution { 2 public: 3 /** 4 * @param A: A string includes Upper Case letters 5 * @param B: A string includes Upper Case letter 6 * @return: if string A contains all of the characters in B return true 7 * else return false 8 */ 9 bool compareStrings(string A, string B) { 10 // write your code here 11 int ns[26] = {0}; 12 int i, len_a = A.length(), len_b = B.length(); 13 for (i = 0; i < len_a; i++) { 14 ns[A[i] - 'A']++; 15 } 16 for (i = 0; i < len_b; i++) { 17 if (ns[B[i] - 'A'] <= 0) 18 return false; 19 else 20 ns[B[i] - 'A']--; 21 } 22 return true; 23 } 24 };
越努力,越幸运