博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Letter Combinations of a Phone Number
阅读量:6526 次
发布时间:2019-06-24

本文共 1948 字,大约阅读时间需要 6 分钟。

手机按键组合,回溯

Letter Combinations of a Phone Number

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"].

 

1 package com.rust.TestString; 2  3 import java.util.ArrayList; 4 import java.util.List; 5  6 public class LetterCombinationsofaPhoneNumber { 7     public static List
letterCombinations(String digits) { 8 List
result = new ArrayList
(); 9 if (digits.equalsIgnoreCase("")) {10 return result;11 }12 String[] keys = new String[10]; 13 keys[0] = ""; 14 keys[1] = ""; 15 keys[2] = "abc"; 16 keys[3] = "def"; 17 keys[4] = "ghi"; 18 keys[5] = "jkl"; 19 keys[6] = "mno"; 20 keys[7] = "pqrs"; 21 keys[8] = "tuv"; 22 keys[9] = "wxyz"; 23 char[] temp = new char[digits.length()];24 combine(keys, temp, digits, 0, result);25 return result;26 }27 public static void combine(String[] keys, char[] temp, String digits, int index, List
res) {28 if (index == digits.length()) {29 res.add(new String(temp));30 return; // get out now31 }32 char digitChar = digits.charAt(index);33 for (int i = 0; i < keys[digitChar - '0'].length(); i++) { // scan char at keys[digitChar - '0']34 temp[index] = keys[digitChar - '0'].charAt(i);35 combine(keys, temp, digits, index + 1, res);36 }37 38 }39 public static void main(String args[]){40 List
one = letterCombinations("");41 for (int i = 0; i < one.size(); i++) {42 System.out.print(one.get(i)+" ");43 }44 }45 }

 

转载地址:http://pxnbo.baihongyu.com/

你可能感兴趣的文章
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(四)
查看>>
Go 四篇
查看>>
游戏数值策划-经验值计算公式设计(自百度文库)
查看>>
Spring JDBC模板惯用方式
查看>>
将公用文件夹从Exchange2010迁移到 Exchange 2013
查看>>
动态规划算法
查看>>
WebService学习总结(二)——WebService相关概念介绍
查看>>
泥鳅般的const(一个小Demo彻底搞清楚)
查看>>
Pyqt 打开外部链接的几种方法
查看>>
JavaScript DOM编程艺术学习笔记(一)
查看>>
event.srcElement获得引发事件的控件(表单)
查看>>
ASP.NET MVC铵钮Click后下载文件
查看>>
SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别
查看>>
基本数据结构 - 栈和队列
查看>>
Linux软中断、tasklet和工作队列
查看>>
如何解决ORA-28002 the password will expire within 7 days问题(密码快过期)
查看>>
Asp.Net Core 轻松学-利用日志监视进行服务遥测
查看>>
LightSwitch社区资源搜集
查看>>
Android通讯录查询篇--ContactsContract.Data 二(续)
查看>>
IT人的自我导向型学习:开篇杂谈
查看>>