# 单词拆分

给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。

说明:

示例 1:

输入: s = "leetcode", wordDict = ["leet", "code"]
输出: true
解释: 返回 true 因为 "leetcode" 可以被拆分成 "leet code"。

示例 2:

输入: s = "applepenapple", wordDict = ["apple", "pen"]
输出: true
解释: 返回 true 因为 "applepenapple" 可以被拆分成 "apple pen apple"。
     注意你可以重复使用字典中的单词。

示例 3:

输入: s = "catsandog", wordDict = ["cats", "dog", "sand", "and", "cat"]
输出: false
## template ```java public class Solution { public boolean wordBreak(String s, List wordDict) { int length = s.length(); int size = wordDict.size(); if (length == 0) { return true; } if (size == 0) { return false; } boolean[] dp = new boolean[length]; for (int i = 0; i < length; i++) { for (int j = 0; j < size; j++) { String now = wordDict.get(j); if (i < now.length()) { String test = s.substring(0, i + 1); if (now.equals(test)) { dp[i] = true; break; } } if (i >= now.length()) { String test = s.substring(i - now.length() + 1, i + 1); if (dp[i - now.length()] && test.equals(now)) { dp[i] = true; break; } } } } return dp[length - 1]; } } ``` ## 答案 ```java ``` ## 选项 ### A ```java ``` ### B ```java ``` ### C ```java ```