1、判定字符串B是否可由字符串A变换的来 比如 “abccd” “acbcd” 可以。
public boolean fun(String a, String b){
     int len1 = a.length();
     int len2 = b.length();
     HashMap<String> hm1 = new HashMap<String>;
     HashMap<String> hm2 = new HashMap<String>;
     boolean flag = true;
     
     if(len1 != len2) (return false;}
     for(int i=0; i<len1; i++){
         if(!hm1.containsKey(a.charAt(i))){
             hm1.put(a.charAt(i), 1);
         }else{
             val = hm1.get(a.charAt(i));
             hm1.put(a.charAt(i), ++val);
         }    
     }
     for(int i=0; i<len2; i++){
         if(!hm2.containsKey(b.charAt(i))){
             hm2.put(b.charAt(i), 1);
         }else{
             val = hm2.get(b.charAt(i));
             hm2.put(b.charAt(i), ++val);
         }    
     }
     
     for(int i=0; i<len1; i++){
         if(hm1.containsKey(b.charAt(i)) && (hm1.get(b.charAt(i)) == hm2.get(b.charAt(i)))){
             continue;
         }else{
             flag = false;
             break;
         }    
     }
     return flag;    
 }
2.给定形如pattern="aabbc",city="北京 北京 上海 上海 蓬莱"两个字符串,这样的pattern和city之间是匹配的(a=北京,b=上海,c=蓬莱)。规定pattern内的字符属于[a-z],city的城市名必定以空格分隔,给定任意pattern和city,返回它们是否匹配(True/False)

京公网安备 11010502036488号