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 };

 

posted @ 2016-07-29 11:36  琴影  阅读(206)  评论(0编辑  收藏  举报