题解 | #反转链表#
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
使用双链表的解法:
第一:定义一个新的链表
第二:通过while判断原链表的循环长度
第三:定义一个临时链表
第四:将原链表除了头结点元素的值复制给temp临时链表
第五:将新链表的值接入到原链表的后面
第六:将原链表赋值给新链表
第七:将temp里的值赋值给原链表
第八:返回新链表
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
ListNode newHead = null;
while (head != null) {
ListNode temp = head.next;
head.next = newHead;
newHead = head;
head = temp;
}
return newHead;
}
}