题解 | #反转链表#
反转链表
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) {
ListNode first = new ListNode(0); //生成一个头结点
ListNode p=head; //引用p指向head
ListNode q=null; //引用q初始化为null
while(p != null) { //当引用p没有到达链表末尾
q=p.next; //q指向p的下一个节点
p.next=first.next; //用头插法逐个插入每个节点
first.next=p;
p=q; //p指向下一个节点
}
return first.next; //返回逆序的链表
}
} 