高速比較两个字符串中字符全然同样(兄弟字符串比較)

刚才上网,看到这个问题在好多论坛上得到非常大的讨论。于是尝试练习了一下。

【问题描写叙述】

 对于两个字符串,判定包括的字符是否全然同样。比方:"sabac"和 "basca"算是包括的字符全然同样,而且同样字符的数量也一样要同样,但它们顺序能够不一样。

【问题分析】

1.先推断两个字符串的长度是否同样

2. 推断同样长度的字符串中的字符和同样字符的数量是否同样。

3. 推断字符时,先把字符串分割成字符串数组,然后对字符数据排序,接着把两个字符串相应的字符进行比对。

【代码实现】

	public boolean isIncludeSameChar(String str1, String str2) {
		boolean flag = true;

		if (str1.length() != str2.length()) {
			flag = false;
		} else {
			char[] str1Arr = str1.toCharArray();
			Arrays.sort(str1Arr);
			char[] str2Arr = str2.toCharArray();
			Arrays.sort(str2Arr);
			for (int i = 0; i < str2Arr.length; i++) {
				if (str2Arr[i] == str1Arr[i]) {
					continue;
				} else {
					flag = false;
				}
			}
		}
		return flag;
	}

同样返回true,否则返回false;




原文地址:https://www.cnblogs.com/clnchanpin/p/7241312.html