[LeetCode]Letter Combinations of a Phone Number

时间:2015-12-03 11:27:34   收藏:0   阅读:276
public class Solution {
    List<String> result = new ArrayList<String>();
    public List<String> letterCombinations(String digits) {
        if (digits.length() == 0) {
            return result;
        }
        String[] strs = "abc def ghi jkl mno pqrs tuv wxyz".split(" ");
        List<String> list = new ArrayList<String>();
        for (int i = 0; i < digits.length(); i++) {
            list.add(strs[(int)digits.charAt(i) - ‘0‘ - 2]);
        }
        helper(list, "");
        return result;
    }
    public void helper(List<String> list, String pre) {
        int length = list.size();
        if (length == 0) {
            result.add(pre);
            return;
        }
        String str = list.get(0);
        list.remove(0);
        for (int i = 0; i < str.length(); i++) {
            String tmp = pre + str.charAt(i);
            helper(list, tmp);
        }
        list.add(0, str);
    }
}

 

原文:http://www.cnblogs.com/vision-love-programming/p/5015255.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!