LintCode-第55题 比较字符串

描述:

           比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是 大写字母

          注意事项

                  在 A 中出现的 B 字符串里的字符不需要连续或者有序。

样例:

         给出 A = "ABCD" B = "ACD",返回 true

         给出 A = "ABCD" B = "AABC", 返回 false

代码实现:

 public boolean compareStrings(String A, String B) {
        // write your code here
         
		char ch_A[] = A.toCharArray();//获得a中的字符数组
		char ch_B[] = B.toCharArray();//获得b中的字符数组
		int len_A = ch_A.length;
        int len_B = ch_B.length;
       
        int a[] = new int[len_A];//记录a中每个字符出现的次数
        int b[] = new int[len_B];//记录b中每个字符出现的次数
        
        if(len_A<len_B){//b中的字符数不可能小于a中的字符数
            return false;
        }
        
        for(int i=0;i<ch_B.length;i++){
        	int ca = getCharNumber(ch_A,ch_B[i]);
        	int cb = getCharNumber(ch_B,ch_B[i]);
        	if(ca<cb){
        	return false;
        	
        	}
        }
        return true;
        
    }
    
    //计算字符ch在数组str中的个数
    private int getCharNumber(char str[],char ch){
		int len = str.length;
		int count=0;
		  
		for(int i = 0; i< len;i++){
			if(str[i]==ch){
				count++;		 
			}	 	 
		}
  
		return count;
	}



猜你喜欢

转载自blog.csdn.net/lin962792501/article/details/52444692
今日推荐