2
我需要寫在那裏給定一組字符key
找到一個字符串str
這樣如何遞歸查找字符串中的一組字符?
findKeys("fooo","foo") //returns 3
//foo-
//fo-o
//f-oo
findKeys("foobarfoo","obo") //returns 4]
//--ob----o
//-o-b---o-
//-o-b----o
//--ob---o-
下存在的唯一實例的數量是我迄今爲止功能的功能,我不知道我錯過了什麼,但我只知道它沒有找到所有的實例,所以它沒有正確地遍歷字符串。
function findKeys(str, key) {
var count = count || 0;
if(str.length <= key.length || key.length === 1) {
if(str.slice(0, key.length) === key) {
return 1
}
return 0
}
if(str[0] === key[0]) {
count += findKeys(str.slice(1), key.slice(1))
}
count += findKeys(str.slice(1), key)
return count
}
哇。這是一個快速的迴應,你是完全正確的。這是正確的在我面前,我無能爲力。我可以問你怎麼看得這麼快?我一直在尋找這些好幾天,並試圖寫出每一個函數調用來試圖更好地觀察發生的事情。 –
我只是讀了其餘的 - 這是有道理的。 Key.length在第一次通過時看起來很好(我做了一個疏忽),但當我回到它時,我想知道爲什麼你需要它,因爲第一部分應該照顧它。多一點時間讓我知道爲什麼它會導致它失敗。然後,我跑了幾個測試用例來確保它能正常工作併發布。 –