【发布时间】:2015-03-09 10:00:49
【问题描述】:
由于准备Java考试,目前正在访问一个power class,我们基本上提出了一个问题:
class Node{ //List node
String text;
Node next;
}
class Stringbuilder{
...
void append(String s) //attaches s
String toString() //returns the fully built String
}
public static String listToString(Node first){
//TO DO
}
我们的任务是定义listToString。我们做了一个绝对有效的迭代方法,但我对这种递归替代方法很好奇:
public static String listToString(Node first){
StringBuilder sb = new StringBuilder();
if(first == null) return "";
String result = first.text;
return result + sb.append(first.next.text).toString();
}
所以问题是:这行得通吗?
【问题讨论】:
-
运行代码会回答你的问题,不是吗?
-
给定方法中的递归在哪里?
-
让我们提出不同的问题:如果我的考试会提出这个问题,如果我使用递归方法而不是安全的迭代方法,我会有多错?
-
基本上它应该在最后一个返回参数中,因为我不断跳转到下一个节点并通过 StringBuilder 附加文本值。
标签: java string linked-list