📅  最后修改于: 2023-12-03 14:50:47.095000             🧑  作者: Mango
本文介绍了解决ISRO CS 2014中第66个问题所需的程序。该问题要求编写一个程序,以逆序打印链表中的节点值。
以下是一个Java程序示例,用于逆序打印链表中的节点值。
public class ReverseLinkedList {
// Definition for singly-linked list.
public static class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}
public static void main(String[] args) {
// create a linked list
ListNode head = new ListNode(1);
ListNode node1 = new ListNode(2);
ListNode node2 = new ListNode(3);
ListNode node3 = new ListNode(4);
head.next = node1;
node1.next = node2;
node2.next = node3;
// print the linked list in reverse order
printListInReverseOrder(head);
}
public static void printListInReverseOrder(ListNode head) {
if (head != null) {
printListInReverseOrder(head.next);
System.out.print(head.val + " ");
}
}
}
该程序定义了一个ListNode类,用于表示链表中的节点。printListInReverseOrder
方法接收一个ListNode实例,该实例表示链表的头结点。该方法使用递归方式遍历链表,找到链表中的最后一个节点,然后反向打印每个节点值。
将以上代码复制到Java IDE中,并运行主函数。程序将创建一个链表并打印出其节点值,格式为逆序输出。如果需要将程序中的链表修改为自己的链表,请修改链表节点和值的数量和值。