=========================================================================
package 链表.reverseLinklist; public class reverseWenyanyixin { public static class ListNode { int val; ListNode next; ListNode(int x) { val = x; } } //=========================== public static class Solution { public ListNode reverseList(ListNode head) { ListNode prev = null; // 前一个节点,初始化为null ListNode curr = head; // 当前节点,初始化为头节点 while (curr != null) { ListNode nextTemp = curr.next; // 保存当前节点的下一个节点 curr.next = prev; // 反转当前节点的指针 prev = curr; // 前一个节点前进到当前节点 curr = nextTemp; // 当前节点前进到原来的下一个节点 } return prev; // 当遍历结束时,prev将是新的头节点 } } //============================== public static void main(String[] args) { ListNode head = new ListNode(1); head.next = new ListNode(2); head.next.next = new ListNode(3); head.next.next.next = new ListNode(4); head.next.next.next.next = new ListNode(5); // 反转链表 Solution solution = new Solution(); ListNode reversedHead = solution.reverseList(head); // 打印反转后的链表 ListNode curr = reversedHead; while (curr != null) { System.out.print(curr.val + " -> "); if (curr.next==null) System.out.println("null"); curr = curr.next; } // 注意:这里打印会多一个 "-> ",可以根据需要处理 } }