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;
}
java反转一个单链表
最新推荐文章于 2023-05-04 16:47:59 发布