给一个单词一个字典,每次删除单词里任一个字母直到剩下一个字母,形成一个序列,比如office->offce->ofce->ofc->oc->c。问是否字典里存在一个这种序列
 package checkDictExistSequence;
import java.util.*; public class Solution {
HashSet<String> dict = new HashSet<String>(); public String check(String[] arr, String word) {
for (String str : arr)
dict.add(str);
if (checkSeq(new StringBuffer(word))) return "true";
return "false";
} public boolean checkSeq(StringBuffer sb) {
if (sb.length() == 1) return true;
for (int i=0; i<=sb.length()-1; i++) {
char cur = sb.charAt(i);
sb.deleteCharAt(i);
if (dict.contains(sb.toString())) {
if (checkSeq(sb)) return true;
}
sb.insert(i, cur);
}
return false;
} /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Solution sol = new Solution();
System.out.println(sol.check(new String[]{"offce", "ofce", "ofc", "oc", "c"}, "office"));
} }

最新文章

  1. 【转】TCP/IP协议栈及OSI参考模型详解
  2. 模仿iframe框架,由分隔栏动态改变左右两侧div大小———基于jQuery
  3. vim global命令
  4. freemark 判断是否为空 是否存在
  5. IOS 模仿TableView封装
  6. OC3_歌词解析
  7. HW5.15
  8. Tomcat部署问题及解决方法
  9. yum php56
  10. Convert Sorted Array to Balanced Binary Search Tree (BST)
  11. bzoj1338: Pku1981 Circle and Points单位圆覆盖
  12. [python] 1、python鼠标点击、移动事件应用——写一个自动下载百度音乐的程序
  13. Hive基础(3)---Fetch Task(转)
  14. Erlang Rebar 使用指南之一:入门篇
  15. Java学习目录(持续更新中)
  16. [Tex学习笔记]小于等于一个常数乘以...
  17. 数据库乐观锁和悲观锁的理解和实现(转载&amp;总结)
  18. 微软必应Bing搜索引擎这几天无法访问!
  19. python爬虫scrapy之如何同时执行多个scrapy爬行任务
  20. Scala构建工具SBT

热门文章

  1. 【php学习】array_map,array_walk,array_filter的区别
  2. 通过宏定义判断是否引入的是framework,反之则使用双引号,实用!
  3. 汇编ASCII大小写转换(字符串长度$的用法)
  4. How to disable and clear query ranges in sysquery form
  5. JS-001-单选复选按钮操作
  6. angularJs:双向数据绑定
  7. TCP定时器
  8. LeetCode Longest Palindrome
  9. Oracle本地网络分表模拟分区裁剪
  10. POJ 1039问题描述