码迷,mamicode.com
首页 > 其他好文 > 详细

139. Word Break

时间:2016-09-15 06:26:51      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:

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".

 

public bool WordBreak(string s, ISet<string> wordDict) {
        if(s == null || s.Length == 0) return true;
        if(wordDict == null) return false;
        var newSet =new HashSet<string>();
        newSet.Add(s);
        while(newSet.Count()>0)
        {
            var temp =new HashSet<string>();
            foreach(string ss in newSet)
            {
                if(wordDict.Contains(ss)) return true;
                for(int i = 0;i<= ss.Length;i++)
                {
                    if(wordDict.Contains(ss.Substring(0,i)))
                    {
                        if(wordDict.Contains(ss.Substring(i))) return true;
                        temp.Add(ss.Substring(i));
                    }
                }
            }

            newSet = temp;
        }
        return false;
    }

 

139. Word Break

标签:

原文地址:http://www.cnblogs.com/renyualbert/p/5874211.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!