Given a string s and a list of strings wordDict, return True if s can be segmented into a space-separated sequence of one or more words from wordDict, otherwise return False.
Words in wordDict can be reused any number of times.
Input: s = "leetcode", wordDict = ["leet", "code"] Output: True Explanation: "leetcode" = "leet" + "code".
Input: s = "applepenapple", wordDict = ["apple", "pen"] Output: True Explanation: "applepenapple" = "apple" + "pen" + "apple". The word "apple" is reused.
Input: s = "catsandog", wordDict = ["cats", "dog", "sand", "and", "cat"] Output: False Explanation: No valid segmentation covers all of "catsandog".
s and wordDict[i] consist of only lowercase English letterswordDict are uniques = "leetcode" wordDict = ["leet", "code"]