欢迎访问宙启技术站
智能推送

如何使用Java函数实现对链表进行倒序输出?

发布时间:2023-08-14 12:12:29

Java是一种面向对象的编程语言,提供了许多用于处理链表的操作和函数。在这个任务中,我们想要实现一个函数来倒序输出链表。以下是一个使用Java函数实现对链表进行倒序输出的示例代码。

首先,我们需要定义一个链表节点对象,该节点对象包含一个值和一个指向下一个节点的引用。代码如下:

class ListNode {
    int val;
    ListNode next;
    
    ListNode(int val) {
        this.val = val;
        this.next = null;
    }
}

接下来,我们需要编写一个函数来进行倒序输出链表。这个函数将会遍历链表,将节点的值存储在一个栈中,然后依次弹出栈的元素输出。代码如下:

import java.util.Stack;

public class ReverseLinkedList {
    public static void reversePrint(ListNode head) {
        if (head == null) {
            return;
        }
        
        Stack<Integer> stack = new Stack<>();
        ListNode current = head;
        
        while (current != null) {
            stack.push(current.val);
            current = current.next;
        }
        
        while (!stack.isEmpty()) {
            System.out.print(stack.pop() + " ");
        }
    }
    
    public static void main(String[] args) {
        // 创建一个链表 1 -> 2 -> 3 -> 4 -> 5
        ListNode head = new ListNode(1);
        ListNode node2 = new ListNode(2);
        ListNode node3 = new ListNode(3);
        ListNode node4 = new ListNode(4);
        ListNode node5 = new ListNode(5);
        
        head.next = node2;
        node2.next = node3;
        node3.next = node4;
        node4.next = node5;
        
        // 倒序输出链表
        reversePrint(head);
    }
}

在上述代码中,我们创建了一个简单的链表,其中包含了5个节点。然后,我们调用reversePrint函数来倒序输出链表,输出结果为:5 4 3 2 1。

这个解决方案的思路是遍历链表,将节点的值存储在栈中,然后依次弹出栈中的元素输出。这样可以保证链表的顺序被倒序输出。

通过上述示例代码,我们可以看到如何使用Java函数来实现对链表进行倒序输出。