Description

Given a string s and a dictionary of strings wordDict, return true if s can be segmented into a space-separated sequence of one or more dictionary words.

Examples

Input:s = "leetcode", wordDict = ["leet","code"]
Output:true
Explanation:

Return true because "leetcode" can be segmented as "leet code".

Input:s = "applepenapple", wordDict = ["apple","pen"]
Output:true
Explanation:

Return true because "applepenapple" can be segmented as "apple pen apple".

Input:s = "catsandog", wordDict = ["cats","dog","sand","and","cat"]
Output:false
Explanation:

Cannot be segmented into dictionary words.

Constraints

  • 1 ≤ s.length ≤ 300
  • 1 ≤ wordDict.length ≤ 1000
  • 1 ≤ wordDict[i].length ≤ 20
  • s and wordDict[i] consist of only lowercase English letters.
  • All the strings of wordDict are unique.

Ready to solve this problem?

Practice solo or challenge other developers in a real-time coding battle!