當我試圖遞歸搜索時,我沒有返回正確的數字。我使用它來遍歷一個使用單鏈表實現的隊列,並返回該項目所在的索引,以便我可以確定需要多少次才能使用dequeue()來獲取該項目。在遞歸方法中返回錯誤計數
public int search(E item) {
return recSearch(item, head);
}
public int recSearch(E item, Node node){
if (head == null){
return -1;
}else if (node.data.equals(item)){
return searchCnt;
}else{
searchCnt++;
return recSearch(item, node.next);
}
}
我覺得它應該被正確地計算,因爲它會在每次它不符合if和else if條件的時間來算,但我不能在正確的地方增加?或者我完全離開?謝謝您的幫助!
'searchCnt'在哪裏定義? – Madbreaks
@Madbreaks它被定義爲一個類變量 – Talaria