"Recursive" listToString()-链表中的方法
"Recursive" listToString()-method in linked lists
由于准备Java考试,目前拜访了一个势力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();
}
所以问题是:这行得通吗?
您发布的 listToString
方法中没有任何递归。它必须调用自己才能递归。
public static String listToString(Node first)
{
if(first == null) return "";
String result = first.text;
return result + " " + listToString(first.next);
}
由于准备Java考试,目前拜访了一个势力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();
}
所以问题是:这行得通吗?
您发布的 listToString
方法中没有任何递归。它必须调用自己才能递归。
public static String listToString(Node first)
{
if(first == null) return "";
String result = first.text;
return result + " " + listToString(first.next);
}