java反转一个单链表

mac2026-01-19  4

public ListNode reverseList(ListNode head) { // 1. 对于空链表, 不需要任何处理 if (head == null) { return null; } // 2. 对于只有一个元素的链表, 也不需要处理 if (head.next == null) { return head; } // 3. 如果有多个节点 ListNode newHead = null; ListNode cur = head; ListNode prev = null; while (cur != null) { ListNode next = cur.next; if (next == null) { newHead = cur; } // 翻转指针的指向 cur.next = prev; // 更新 prev 和 cur prev = cur; cur = next; } return newHead; }
最新回复(0)