Interview Question - Word break I, find one matched List<String>

Word Break, 只要找到一个valid的解就可以了

http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=176097&highlight=snapchat

My code:

public List<String> wordBreak(String s, HashSet<String> set) {
    List<String> ret = new ArrayList<String>();
    helper(s, set, ret);
    return ret;
}

private boolean helper(String s, Set<String> set, List<String> ret) {
    if (s.length() == 0) {
        return true;
    }
    for (String word : set) {
        if (s.startsWith(word)) {
            ret.add(word);
            boolean flag = helper(s.substring(word.length()), set, ret);
            if (flag) {
                return true;
            }
            ret.remove(ret.size() - 1);
        }
    }
    return false;
}

Anyway, Good luck, Richardo! -- 09/27/2016

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容