/**
* TODO
*
* @author
* @version 1.0
* @date 2022/3/22 20:20
* <p>
* 字符串问题 都会走到字符数组中
* <p>
* 要求两处字符串出现相同的字符
* <p>
* 可以使用hashmap
*/
public class case5_两串字符集相同 {
public static void main(String[] args) {
String s = "avdacddv";
String s2 = "vaihvinnvanv";
boolean minu = diff2(s,s2);
System.out.println(minu);
}
static boolean diff(String s, String s2) {
int[] helper = new int[128];
// 第一个字符串先字符转下标,在出现过的字符标记为1
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (helper[c] == 0) {
helper[c] = 1;
}
}
//第二次遍历,从辅助数组中取,看是否为1
for (int i = 0; i < s2.length(); i++) {
char c = s2.charAt(i);
if (helper[c] == 0) {
return false;
}
}
return true;
}
//使用map
static boolean diff2(String s, String s2) {
Map<Character,Integer> map=new HashMap<>();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (map.get(c)==null){
map.put(c,1);
}
}
for (int i = 0; i < s2.length(); i++) {
char c = s2.charAt(i);
if (map.get(c)==null){
return false;
}
}
return true;
}
}
两串字符集相同
最新推荐文章于 2024-08-16 23:08:28 发布