java怎么实现单链表的反转

avatar
作者
猴君
阅读量:0

要实现单链表的反转,可以按照以下步骤进行:

  1. 创建一个新的链表,作为反转后的链表。
  2. 遍历原链表,将每个节点插入到新链表的头部。
  3. 返回新链表作为反转后的链表。

以下是用Java实现单链表反转的示例代码:

class ListNode {     int val;     ListNode next;      ListNode(int val) {         this.val = val;         this.next = null;     } }  public class LinkedListReverse {     public static ListNode reverse(ListNode head) {         ListNode newHead = null;         while (head != null) {             ListNode nextNode = head.next;             head.next = newHead;             newHead = head;             head = nextNode;         }         return newHead;     }      public static void main(String[] args) {         // 创建一个示例链表 1->2->3->4->5         ListNode head = new ListNode(1);         ListNode second = new ListNode(2);         ListNode third = new ListNode(3);         ListNode fourth = new ListNode(4);         ListNode fifth = new ListNode(5);          head.next = second;         second.next = third;         third.next = fourth;         fourth.next = fifth;          // 反转链表         ListNode newHead = reverse(head);          // 打印反转后的链表值         ListNode currentNode = newHead;         while (currentNode != null) {             System.out.print(currentNode.val + " ");             currentNode = currentNode.next;         }         // 输出结果: 5 4 3 2 1     } } 

在上述示例代码中,我们创建了一个单链表,并使用 reverse 方法将其反转。最后,我们遍历反转后的链表,并打印每个节点的值。输出结果为 5 4 3 2 1,表示链表已成功反转。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!