题目描述
- 输入两个字符串str1和str2 ,请判断str1中的所有字符是否都存在与str2中
- eg:String s1=“af” ,s2=“asfasvsdffa”;其中s1的a和f都在s2中出现,return true;
解题思路
- 使用java类库Arrays中的查找直接判断s1中的某个元素是否在s2中出现
代码
public static void main(String[] args) {
String s1="asfasvsdffa";
String s2="as";
char[] chars = s1.toCharArray();
System.out.println(check(chars,s2));
}
private static boolean check(char[] chars, String s2) {
for (int i = 0; i <s2.length(); i++) {
char a=s2.charAt(i);
Arrays.sort(chars);
if(Arrays.binarySearch(chars,a)==-1){
return false;
}
}
return true;
}
ps:
- 对s1进行排序是为了在Search中使用BinarySearch让时间复杂度降至O(NlogN)