首页 > 编程语言 > 详细

java查找string1和string2是不是含有相同的字母种类和数量(string1是否是string2的重新组合)

时间:2016-09-12 23:55:52      阅读:284      评论:0      收藏:0      [点我收藏+]
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的重新组合)

原文:http://www.cnblogs.com/tobemaster/p/5866769.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!