Phone String Replacement
来源:互联网 发布:亚加装饰 知乎 编辑:程序博客网 时间:2024/06/11 12:57
Input: 一个字符串, 每个字符都有几个对应的replacement.
Output: Generate all the possible Strings after replacement.
ex. Input: ABC, A-->@,$, B-->&, C--> *
Output: Generate all the possible Strings after replacement.
ex. Input: ABC, A-->@,$, B-->&, C--> *
Output: @&*, $&*
import java.util.*;public class PhoneStringReplacement {public static void main(String[] args) {PhoneStringReplacement sr = new PhoneStringReplacement();HashMap<Character, List<Character>> map = new HashMap<Character, List<Character>>();map.put('A', new ArrayList<Character>());map.put('B', new ArrayList<Character>());map.put('C', new ArrayList<Character>());map.get('A').add('@');map.get('A').add('$');map.get('A').add('!');map.get('B').add('&');map.get('C').add('*');List<String> res = sr.getStringReplacements("ABC", map);for (String s : res) {System.out.println(s);}}public List<String> getStringReplacements(String str, HashMap<Character, List<Character>> map) {List<String> res = new ArrayList<String>();if (str == null || str.length() == 0) {return res;}helper(res, str, new StringBuilder(), map, 0);return res;}private void helper(List<String> res, String str, StringBuilder sb, HashMap<Character, List<Character>> map,int pos) {if (pos == str.length()) {res.add(sb.toString());return;}char c = str.charAt(pos);List<Character> list = map.get(c);for (int i = 0; i < list.size(); i++) {char ch = list.get(i);sb.append(ch);helper(res, str, sb, map, pos + 1);sb.deleteCharAt(sb.length() - 1);}}}
0 0
- Phone String Replacement
- Vi string replacement
- replaceAll(String regex, String replacement)
- Replacement
- * String类的public String replaceAll(String regex,String replacement)
- Ruby String Replacement, Substitution and Insertion
- leetcode A String Replacement Problem---流程图
- String.replaceAll(String regex, String replacement) 方法的使用
- UVALive 4849 String Phone
- 警告信息“warning: macro replacement within a string literal” 是什么意思?
- 如何将java中的"/"替换为"/"以及replaceAll(String regex, String replacement) 注意事项
- Interview Q&A - Write a C# console application to implement a string replacement function
- Windows Phone开发之String与StringBuilder
- POJ 3630 HDU 1671--Phone List【string】
- uva 1466 - String Phone(2SAT)
- page replacement
- A. Replacement
- C. Replacement
- 1002. 写出这个数 (20)
- 菜鸟学Android-(1)系统架构
- java之redis篇(spring-data-redis整合)
- iOS每日一记-----------------图片圆角的处理
- loadrunner--检查点
- Phone String Replacement
- How to install install gcc 4.8 under ubuntu operating system
- "我在这,你在哪"为啥手机地图定位总不准?
- 简简单单学TI 多核DSP(2):TMS320C6678的时钟配置
- 前向星式prim模板
- Android数据存储
- Android中布局通过xutils注解方式源码剖析
- Structural Types
- linux 下如何处理命令行参数 getopt函数