反转一个单链表。

示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

思路: 

 

 【LeetCode】206.反转链表

class Solution {
    public ListNode reverseList(ListNode head) {
        if(head == null){
            return null;
        }
        ListNode p1 = null;
        ListNode p2 = head;
        ListNode p3 = null;
        if(head.next != null){
            p3 = head.next;
        }
        while(p2 != null){
            p2.next = p1;
            p1 = p2;
            p2 = p3;
            if(p3 != null){
                p3 = p3.next; 
            }
        }
        return p1;
    }
}

 

 

相关文章: