1. 程式人生 > >算法:反轉鏈表。

算法:反轉鏈表。

lis 描述 itl 表頭 item tle next 思路 one

題目描述

輸入一個鏈表,反轉鏈表後,輸出新鏈表的表頭。

思路

定義當前head,前序節點pre,後續節點next;
依次遍歷所有節點,將所有節點的next指向前一個節點。
package LG.nowcoder;

/**
 * @Author liguo
 * @Description 輸入一個鏈表,反轉鏈表後,輸出新鏈表的表頭。
 * 思路:定義當前head,前序節點pre,後續節點next;
 * 依次遍歷所有節點,將所有節點的next指向前一個節點
 * @Data 2018-08-13 23:24
 */
public class Solution4 {
    
public ListNode ReverseList(ListNode head) { ListNode pre = null; ListNode next = null; while (head != null) { next = head.next;//持有下一個節點的引用 head.next = pre;//將當前節點對下一個節點的引用指向前一個節點 pre = head;//將前一個節點指向當前節點 head = next;//
將當前節點指向下一個節點 } return pre; } }

算法:反轉鏈表。