一、判断两个字符串是否包含相同的内容
1.巧用数组下标实现,把用字符的ASCII码值当作下标,记录出现的字符,然后对两字符串进行遍历
/**
* 判断s于s2是否相同
* @param s
* @param s2
* @return boolean
*/
static boolean equals(String s,String s2) {
if(s.length() != s2.length())return false;
int[] arr = new int[128];
for(int i=0;i<s.length();i++) {
arr[s.charAt(i)]++;
arr[s2.charAt(i)]--;
}
for (int i : arr) {
if(i != 0)return false;
}
return true;
}
2.使用键值对TreeMap、HashMap或HashTable进行登记式记录,这个适用于文字等复杂的字符串
/**
* TreeMap实现比较两个字符串包含的内容是否相同
* @param s1
* @param s2
* @return
*/
static boolean TreeMapEquals(String s1,String s2) {
if(s1.length()!= s2.length())return false;
TreeMap<Character,Integer> map = new TreeMap<>();
for(