206. 反转链表
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
这次写得和答案一模一样诶。简单题基本还是能做。
没啥好说的 ,翻转链表就是写代码控制后继指向前驱。收尾节点的处理要注意。所以最开始定义的节点为null和head。
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode reverseList(ListNode head) {
ListNode p = null, n = head;
while (n != null) {
ListNode nn = n.next;
n.next = p;
p = n;
n = nn;
}
return p;
}
}