📌  相关文章
📜  国际空间研究组织 | ISRO CS 2014 |问题 66(1)

📅  最后修改于: 2023-12-03 14:50:47.095000             🧑  作者: Mango

国际空间研究组织 | ISRO CS 2014 | 问题 66

本文介绍了解决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中,并运行主函数。程序将创建一个链表并打印出其节点值,格式为逆序输出。如果需要将程序中的链表修改为自己的链表,请修改链表节点和值的数量和值。