由于准备Java考试,当前正在访问功率课程,我们基本上想到了一个问题:
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();
}
所以问题是:这行得通吗?
最佳答案
您发布的listToString
方法中没有任何递归。它必须称自己为递归。
public static String listToString(Node first)
{
if(first == null) return "";
String result = first.text;
return result + " " + listToString(first.next);
}