zoukankan      html  css  js  c++  java
  • 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种,用一个哈希表存起来。

  • 相关阅读:
    随机小错2_0527
    随计小错
    C++实现读写文件
    03-树2 List Leaves (25 分)
    获取毫秒级的时间戳
    new对象时,类名后加括号与不加括号的区别
    FoxMail 7.2的邮件存储目录修改
    C/C++ 开源算法库
    VS2015的安装
    脏内存导致BUG的问题
  • 原文地址:https://www.cnblogs.com/tobemaster/p/5866769.html
Copyright © 2011-2022 走看看