反转链表_15

题目描述

输入一个链表,反转链表后,输出新链表的表头。

public class ReverseList_15 {
    public static ListNode_15 ReverseList(ListNode_15 head) {
        //初始化pre指针,用于记录当前结点的前一个结点地址
        ListNode_15 pre = null;
        //初始化p指针,用于记录当前结点的下一个结点地址
        ListNode_15 p = null;
        //head指向null时,循环终止
        while (head != null) {
            //先用p指针记录当前结点的下一个结点地址。
            p = head.next;
            //让被当前结点与链表断开并指向前一个结点pre
            head.next = pre;
            //pre指针指向当前结点
            pre = head;
            //head指向p(保存着原链表中head的下一个结点地址)
            head = p;
        }
        return pre;//当循环结束时,pre所指的就是反转链表的头结点
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章