【剑指Offer】JZ15反转链表
反转链表
http://www.nowcoder.com/questionTerminal/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 null; } ListNode newHead = null;//新链表的节点 ListNode p = head;//当前结点 ListNode q = null;//原链表中当前结点的后一个结点 ListNode pre = null;//新链表中当前结点的后一个结点 while(p!=null){ q = p.next; if(q == null){ newHead = p; } p.next = pre; pre = p; p = q; } return newHead; } }