Given a string s and a list of words wordDict, return true if s can be segmented into a space-separated sequence of one or more dictionary words.
Words from the dictionary may be reused any number of times, and not every dictionary word has to be used.
"leetcode", ["leet","code"]"applepenapple", ["apple","pen"]"catsandog", ["cats","dog","sand","and","cat"]"a", ["a"]"ab", ["a"]"cars", ["car","ca","rs"]"aaaaaaa", ["aaaa","aaa"]