反轉鏈表_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所指的就是反轉鏈表的頭結點
    }

 

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