题解 | #反转链表#
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
import java.util.*;
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
if(head==null) return head; //空
ListNode temphead = head; //新建节点引用作为新链表的第一次头插法的头节点
while(head.next!=null)//遍历旧节点,依次头插法插入新节点
{
ListNode temp = temphead;//保存上一次的头节点,这次的头节点的next
temphead = head.next;//获取这次的头节点
head.next = head.next.next;//将这次的头节点从旧链表除开
temphead.next = temp;//将这次的头节点和上一次的头节点连接起来
}
return temphead;
}
}
查看19道真题和解析