容易 比较字符串
26%
通过
比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是大写字母
您在真实的面试中是否遇到过这个题?
Yes
样例
给出 A = "ABCD"
B = "ACD"
,返回 true
给出 A = "ABCD"
B = "AABC"
, 返回 false
注意
在 A 中出现的 B 字符串里的字符不需要连续或者有序。
public class Solution {
/**
* @param A : A string includes Upper Case letters
* @param B : A string includes Upper Case letter
* @return : if string A contains all of the characters in B return true else return false
*/
public static boolean compareStrings(String A, String B) {
byte[] a = A.getBytes();
byte[] b = B.getBytes();
int lena = a.length;
int lenb = b.length;
int[] arr = new int[30];
for(int i=0;i<30;i++)
arr[i] = 0;
for(int i=0;i<lena;i++)
{
arr[a[i]-65]++;
}
for(int i=0;i<lenb;i++)
{
if(arr[b[i]-65]!=0)
{
arr[b[i]-65]--;
}
else return false;
}
return true;
}
}
容易 比较字符串
26%
通过
比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是大写字母
您在真实的面试中是否遇到过这个题?
Yes
样例
给出 A = "ABCD"
B = "ACD"
,返回 true
给出 A = "ABCD"
B = "AABC"
, 返回 false
注意
在 A 中出现的 B 字符串里的字符不需要连续或者有序。
public class Solution {
/**
* @param A : A string includes Upper Case letters
* @param B : A string includes Upper Case letter
* @return : if string A contains all of the characters in B return true else return false
*/
public static boolean compareStrings(String A, String B) {
byte[] a = A.getBytes();
byte[] b = B.getBytes();
int lena = a.length;
int lenb = b.length;
int[] arr = new int[30];
for(int i=0;i<30;i++)
arr[i] = 0;
for(int i=0;i<lena;i++)
{
arr[a[i]-65]++;
}
for(int i=0;i<lenb;i++)
{
if(arr[b[i]-65]!=0)
{
arr[b[i]-65]--;
}
else return false;
}
return true;
}
}