题解 | #反转链表#
反转链表
http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
/*
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 p = head;
ListNode t = p.next;
while(t != null){
p.next = t.next;
t.next = head;
head = t;
t = p.next;
}
return head;
}
}
- 把头节点当成逆置后的尾节点
- 每次都让A的next指向A下一个的下一个
- A的下一个作为新的头节点
- 直到A的下一个为NULL结束