输入 N个单词,建个单链表,然后从头节点开始遍历输出(递归实现) 例如输入: 3. one atwO. three 输出 Three two one
时间: 2024-03-20 19:44:06 浏览: 25
很高兴能够帮到你!以下是 Java 代码实现:
```java
import java.util.Scanner;
class ListNode {
String val;
ListNode next;
ListNode(String val) {
this.val = val;
}
}
public class Main {
public static ListNode buildLinkedList(int n, Scanner scanner) {
if (n == 0) {
return null;
}
String word = scanner.next().trim();
ListNode node = new ListNode(word);
node.next = buildLinkedList(n - 1, scanner);
return node;
}
public static void printLinkedList(ListNode node) {
if (node == null) {
return;
}
printLinkedList(node.next);
System.out.print(node.val + " ");
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
ListNode head = buildLinkedList(n, scanner);
printLinkedList(head);
}
}
```
这段代码中,我们定义了一个 `ListNode` 类表示链表节点。在 `buildLinkedList` 函数中,我们递归地读入单词,并创建一个链表。在 `printLinkedList` 函数中,我们递归遍历链表,并输出单词。注意,我们先递归输出链表的后半部分,再输出当前节点的值,这样就可以实现从头节点开始遍历输出的效果。
你可以尝试输入样例数据,看看代码是否能够正确输出结果。