Letter Combinations of a Phone Number
import java.awt.BufferCapabilities; import java.util.ArrayList; import java.util.List; public class Solution { public List<String> letterCombinations(String digits) { String[] str=new String[]{"abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"}; int size=1; for(int i=0;i<digits.length();i++) if(digits.toCharArray()[i]=='7'||digits.toCharArray()[i]=='9')size*=4; else size*=3; List<String> list=new ArrayList<String>(); int i=0; while(i<digits.length()){ if(list.isEmpty()){ for(int j=0;j<str[digits.toCharArray()[i]-'2'].length();j++){ char c=str[digits.toCharArray()[i]-'2'].toCharArray()[j]; StringBuffer buff=new StringBuffer(); buff.append(c); list.add(buff.toString()); } } else{ int index=0; int count=list.size(); while(index<count){ String temp=list.get(0); for(int j=0;j<str[digits.toCharArray()[i]-'2'].length();j++) { char c=str[digits.toCharArray()[i]-'2'].toCharArray()[j]; list.add(temp+String.valueOf(c)); } list.remove(temp); index++; } } i++; } return list; } public static void main(String[] args){ new Solution(); } public Solution(){ letterCombinations("234"); } }
posted on 2016-11-24 15:24 lichao_normal 阅读(72) 评论(0) 收藏 举报
浙公网安备 33010602011771号