拆分词句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);
            }
        }
    }
}
全部评论

相关推荐

伟大的烤冷面被普调:暨大✌🏻就是强
点赞 评论 收藏
分享
10-30 22:18
已编辑
毛坦厂中学 C++
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务