首页 > 代码库 > java查找string1和string2是不是含有相同的字母种类和数量(string1是否是string2的重新组合)
java查找string1和string2是不是含有相同的字母种类和数量(string1是否是string2的重新组合)
import java.util.*;public class Same { public boolean checkSam(String stringA, String stringB) { // write code here int[] str1=new int[256]; int[] str2=new int[256]; if(stringA.length()!=stringB.length()){ return false; } for(int i=0;i<stringA.length();i++){ str1[stringA.charAt(i)]++; str2[stringB.charAt(i)]++; } for(int j=0;j<256;j++){ if(str1[j]!=str2[j]){ return false; } } return true; }}
注意几点:
1.在获取字符串的每一位的时候可以使用 toCharArray() 和str.charAt(i)两种方式
2.char类型能自动转换成int类型。会将char类型转换成字符对应的的ascii码
3.int[] str1=new int[256] 全局变量没有初始值默认为0,如果是int[] str;默认值是null。 全局变量 整型默认值也是0;局部变量不会自动初始化
4.抽屉算法,n+1个球放进n个抽屉里面,至少有一个抽屉里面大于1个球。 同样的道理,所有ascii字符256种,用一个哈希表存起来。
java查找string1和string2是不是含有相同的字母种类和数量(string1是否是string2的重新组合)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。