传入节点 1-2-3-4-0
为了深拷贝head,使用哑结点。
定义临时变量储存head的下一位等待利用 1-2-3-4-0 =>2-3-4-0
使用head指向空得到 1-2-3-4-0 => 1-0
使用哑结点指向head 0 =>1-0
重新赋值head拿传入链表下一个值 2-3-4-0 => 3-4-0
循环操作直到传入节点为空
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode reverseList(ListNode head) {
ListNode reverseList = new ListNode(0);
ListNode temp = null;
while(head!=null){
temp = head.next;
head.next = reverseList.next;
reverseList.next = head;
head = temp;
}
return reverseList.next;
}
}