剑指offer -- 反转链表
反转链表
http://www.nowcoder.com/questionTerminal/75e878df47f24fdc9dc3e400ec6058ca
解法
链表 1->2->3->4
我们可以先把 当前指针的结点给脱落,将脱落的结点御用头插法重新组成链表就OK了。
代码
/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode ReverseList(ListNode head) { ListNode pre = null; ListNode p =head; ListNode q = head; ListNode ansNode = null; while(p!=null){ ListNode tail = p.next; if(tail == null){ ansNode = p; } p.next = pre; pre = p; p = tail; } return ansNode; } }