[leetcode] Letter Combinations of a Phone Number

來源:互聯網
上載者:User

標籤:style   blog   http   color   java   os   strong   io   

 

Given a digit string, return all possible letter combinations that the number could represent.

A mapping of digit to letters (just like on the telephone buttons) is given below.

Input:Digit string "23"Output: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].

Note:
Although the above answer is in lexicographical order, your answer could be in any order you want.


https://oj.leetcode.com/problems/letter-combinations-of-a-phone-number/

 

 

思路:dfs。

技巧,數字與字母map的應用。

特殊情況,輸入是"",要求也返回[""],略不科學。。

 

import java.util.ArrayList;import java.util.List;public class Solution {    public List<String> letterCombinations(String digits) {        List<String> res = new ArrayList<String>();        if(digits.length()==0){            res.add("");            return res;        }        StringBuilder sb = new StringBuilder();        dfs(res,digits,sb);                return res;    }         private String[] numMap = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};        private void dfs(List<String> res, String digits,StringBuilder sb){        if(digits.length()==0){            res.add(sb.toString());            return;        }        int curDigit =digits.charAt(0)-‘0‘;        String curStr = numMap[curDigit];                for(int i=0;i<curStr.length();i++){            sb.append(curStr.charAt(i));            dfs(res,digits.substring(1),sb);            sb.deleteCharAt(sb.length()-1);        }                    }        public static void main(String[]args){        System.out.println(new Solution().letterCombinations(""));    }    }

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.