public boolean wordBreak(String s, Set<String> dict) {
if(s.length()==0) return true;
String first = null;
boolean isOk= false;
for(int i=1; i<s.length(); i++){
first = s.substring(0,i);
if(dict.contains(first)){
String remaining = s.substring(i);
isOk = wordBreak(remaining, dict);
if(dict.contains(remaining))
isOk=true;
if(isOk)
return isOk;
}
}
return false;
}
我無法通過無限循環的情況下: 「aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab」如何防止對wordbreak的無窮遠環
執行輸入: 「A」, 「AA」, 「AAA」,「AAAA 「,」aaaaa「,」aaaaaa「,」aaaaaaa「,」aaaaaaaa「,」aaaaaaaaa「,」aaaaaaaaaa「] 任何人都可以幫助我將錯誤指向邏輯嗎?謝謝
什麼是預期的行爲?你能描述一下這個方法應該做什麼嗎? – thatidiotguy
你可以在調試器中逐步找到你自己的答案。你的一些代碼似乎沒有做任何有用的事情,所以很難說明它應該做什麼。 –
當i = 0時,你真的需要substring(0,0)嗎? –