首页 > 代码库 > Problem Word Break
Problem Word Break
Problem Description:
Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words.
For example, given
s = "leetcode"
,
dict = ["leet", "code"]
.
Return true because "leetcode"
can be segmented as "leet code"
.
Solution:
1 public boolean wordBreak(String s, Set<String> dict) { 2 Set<Character> set = new HashSet<Character>(); 3 for (int i = 0; i < s.length(); i++) { 4 set.add(s.charAt(i)); 5 } 6 for (char a : set) { 7 boolean found = false; 8 for (String word : dict) { 9 if (word.indexOf((int)a) >= 0) {10 found = true;11 }12 }13 14 if (! found) {15 return false;16 }17 }18 19 if (s == null || dict.size() == 0 || dict == null) {20 return false;21 }22 if (s.equals("")) return true;23 24 for (String word : dict) {25 if (word.length() <= s.length()) {26 if (s.substring(0, word.length()).equals(word)) {27 boolean result = wordBreak(s.substring(word.length()), dict);28 if (result) return true;29 }30 }31 }32 33 return false;34 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。