拆分词句II

拆分词句 ii

http://www.nowcoder.com/questionTerminal/bd73f6b52fdc421d91b14f9c909f9104

import java.util.*;

public class Solution {
    public ArrayList<String> wordBreak(String s, Set<String> dict) {
        ArrayList<String> list = new ArrayList<>();
        dfs(s, s.length(), "", dict, list);
        return list;
    }

    /**
     * index 末尾索引
     */
    public void dfs(String s, int index, String str, Set<String> dict, List<String> list){
        if(index <= 0){
            if(str.length() > 0){
                list.add(str.substring(0, str.length() - 1));
            }
            return;
        }

        for(int i = index; i >= 0; --i){
            if(dict.contains(s.substring(i, index))){
                dfs(s, i, s.substring(i, index) + " " + str, dict, list);
            }
        }
    }
}
全部评论

相关推荐

05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务