题解 | #反转链表#
反转链表
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; } }