package string;
public class SameString {
public static void main(String[] args) {
System.out.println(check("abc","abc"));
}
static boolean check(String s1,String s2) {
if(s1.length() != s2.length()) return false;
int [] helper = new int[128];
for (int i = 0; i < s1.length(); i++) {
helper[s1.charAt(i)] ++;
}
for (int i = 0; i < s2.length(); i++) {
int index = s2.charAt(i);
helper[index] --;
if (helper[index] < 0) {
return false;
}
}
return true;
}
}
有一种简单的方法是先把两个字符串进行排序,然后进行比较,但是今天学到了一种更优的方法,所以记录下来,代码很简单,先把第一个串的所有字符进行计数,然后再用第二个串进行相减,如果计数小于0就说明不相同,就可以直接跳出。