题目
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
思路:创建一个空链表,然后头插法。
/**
* 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 result = new ListNode(0,null);
ListNode temp;
// 头插法
while(head!=null){
temp = result.next;
result.next = head;
// 这步一定要在最后一步之前,否则节点会丢失
head = head.next;
result.next.next = temp;
}
return result.next;
}
}