【发布时间】:2011-10-07 16:51:21
【问题描述】:
我正在查看准备考试的示例,坦率地说,我不太擅长递归或列表,尤其是列表。
给定一个节点类,它将保存字符串(不是通用的)编写一个名为 concat 的递归 java 函数,该函数接受一个表示链表头部的节点并返回一个表示链表所有元素连接的字符串,如果列表为空,字符串也应为空。
任何帮助将不胜感激。
(以下是我提问前输入的内容:)
public static String FindConcat(Node head) {
String s = "";
if(head == null) return s;
else if(head.next = null) {
s += head.data;
return s;
}
else {
}
}
感谢您的回复。
【问题讨论】:
-
递归方法在方法结束时调用自身,需要有一个检查,当某些情况发生时退出方法。发布的任何不调用自身的答案都不是递归方法。
-
这些说明专门要求提供一个递归函数,以测试您对递归的了解。后来,在现实生活中,任意数量的字符串可能会与 StringBuilder 连接,并且迭代将优于递归。如果您觉得这样的事情很有趣,您可以考虑如何将 StringBuilder 与递归方法一起使用。
-
else if(head.next = null) {我认为这行不通,它应该读为==或!=,这取决于你想做什么。
标签: java