[英]toString method for a doubly linked list using recursion
public String recursiveToString()
{
DoubleLinkedListNode<T> current = first;
String list = "";
if(current == null)
{
return "";
}
else
{
list += current.info + ", ";
current = current.next;
return list + recursiveToString();
}
}
我應該在運行代碼時將其打印出來,但是每次運行都會崩潰。 到目前為止,這是我嘗試做的所有事情。
首先,您需要每次將列表中的當前位置傳遞回函數中,因此將您的簽名更改為:
public String recursiveToString(DoubleLinkedListNode<T> current)
然后稍微修改一下代碼,使其使用它並繼續傳遞下去,list變量也是不必要的,遞歸將負責串聯所有內容:
public String recursiveToString(DoubleLinkedListNode<T> current)
{
if(current == null)
{
return "";
}
else
{
return current.info + " " + recursiveToString(current.next);
}
}
如果您希望在不更改函數簽名的情況下執行此操作,只需重命名我上面具有的函數,然后為無參數函數創建定義,如下所示:
public String recursiveToString()
{
return aboveFunction(first);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.