【发布时间】:2022-07-12 23:23:01
【问题描述】:
def wordBreak(self, s: str, wordDict: List[str]) -> bool:
class solutionFound(Exception):
pass
def dfs(s):
if len(s) == 0:
raise solutionFound
for i in range(len(wordDict)):
if s.startswith(wordDict[i]):
dfs(s[len(wordDict[i]):])
try:
dfs(s)
return False
except solutionFound:
return True
在上面的代码中,我在函数内部进行了很多递归调用,我只想在找到解决方案时立即返回。一种方法是使用异常,我只是想知道是否有另一种方法可以用最少的代码实现这一点。
【问题讨论】: