public List<String> letterCombinations(String digits) {
List<String> list=new ArrayList<String>();
if(digits.length()==0){
return list;
}
if(digits.length()==1){
int index=Integer.parseInt(digits)-2;
String x=strs[index];
char[] c=x.toCharArray();
for(int i=0;i<c.length;i++){
list.add(""+c[i]);
}
return list;
}
String newdigits=digits.substring(1);
String indStr=digits.substring(0,1);
int indInt=Integer.parseInt(indStr)-2;
String xx=strs[indInt];
char[] cc=xx.toCharArray();
List<String> result=letterCombinations(newdigits);
for(int j=0;j<cc.length;j++){
for(int m=0;m<result.size();m++){
list.add(""+cc[j]+result.get(m));
}
}
return list;
}
读文件
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.HashMap;
import java.util.HashSet;
public class Interview {
private HashMap<String, HashSet<String>> numberMap = new HashMap<String, HashSet<String>>();
private HashMap<String, HashSet<String>> nameMap = new HashMap<String, HashSet<String>>();
public static void main(String[] args){
Interview interview = new Interview();
interview.readFileIntoParam(args[0]);
}
public void readFileIntoParam(String fileName) {
try {
BufferedReader reader = new BufferedReader(new FileReader(fileName));
reader.readLine();
String line = null;
while((line=reader.readLine())!=null){
String item[] = line.split(",");
if(nameMap.get(item[0])!=null) {
HashSet tmp = nameMap.get(item[0]);
tmp.add(item[1]);
}else {
HashSet tmp = new HashSet();
tmp.add(item[1]);
nameMap.put(item[0], tmp);
}
if(numberMap.get(item[1])!=null) {
HashSet tmp = numberMap.get(item[1]);
tmp.add(item[0]);
}else {
HashSet tmp = new HashSet();
tmp.add(item[0]);
numberMap.put(item[1], tmp);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}