您的位置:首页 > 编程语言

LintCode【简单】55. 比较字符串 。代码及思路

2018-02-05 22:51 288 查看
lintcode的页面总是刷不出来,好不容易刷出来提交一直在pending,一刷新网页又出不来了,不知道有没有人和我情况一样,我很抓狂啊现在!!!

题目要求:

比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是 大写字母


 注意事项


在 A 中出现的 B 字符串里的字符不需要连续或者有序。

样例

给出 A = 
"ABCD"
 B = 
"ACD"
,返回 
true

给出 A = 
"ABCD"
 B = 
"AABC"

返回 
false


思路:

根据他样例给出的,当B里有两个“A”,A里只有一个的时候,返回的是false,这就说明只认可了前一个A存在于A组里,而第二个A相当于其他字符。

所以我的想法是遍历B组,双重循环,每次都遍历A组,如果找到有一样的了,就把A组的数改成1,这样下次再循环的时候就解决了上述问题。

需注意:A,B为空的时候。

代码:

class Solution {
public:
/*
* @param A: A string
* @param B: A string
* @return: if string A contains all of the characters in B return true else return false
*/
bool compareStrings(string &A, string &B) {
// write your code here
int i, j;
bool ismatch = false;
if(B.length() == 0) return true;
for(i = 0; i < B.length(); i++){
for(j = 0; j < A.length(); j++){
if(A[j] == B[i]){
A[j] = '1';
ismatch = true;
break;
}
else{
ismatch = false;
}
}
if(!ismatch) return false;
}
if(ismatch) return true;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: