问题说明:
- 比较两个字符串A和B,确定A中是否包含B中所有的字符。
- 字符串A和B中的字符都是 大写字母
样例
给出 A =
"ABCD"
B ="ACD"
,返回true
给出 A =
"ABCD"
B ="AABC"
, 返回false
Python:
class Solution:
"""
@param A: A string
@param B: A string
@return: if string A contains all of the characters in B return true else return false
"""
def compareStrings(self, A, B):
# write your code here
alen = len(A)
blen = len(B)
if blen == 0:
return True
if alen < blen:
return False
C = A
findtemp = False
for temp in range(len(B)):
for index in range(len(C)):
if B[temp] != C[index]:
continue
C = C[:index] + C[index+1:]
findtemp = True
break
if findtemp == True:
findtemp = False
continue
else:
return False
return True
C++:
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) {
int alen = A.length();
int blen = B.length();
if(blen == 0)
{
return true;
}
if(alen < blen)
{
return false;
}
string C = A;
bool findtemp = false;
for(int i = 0; i < blen; i++)
{
int clen = C.length();
for(int j = 0; j < clen; j++)
{
if(B.substr(i, 1) != C.substr(j, 1))
{
continue;
}
findtemp = true;
C.erase(j,1);
break;
}
if(findtemp == true)
{
findtemp = false;
continue;
}else{
return false;
}
}
return true;
// write your code here
}
};