算法-反轉一個單鏈表

示例:spa

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

在遍歷列表時,將當前節點的 next 指針改成指向前一個元素。因爲節點沒有引用其上一個節點,所以必須事先存儲其前一個元素。在更改引用以前,還須要另外一個指針來存儲下一個節點。不要忘記在最後返回新的頭引用!指針

 

public ListNode reverseList(ListNode head) {
    ListNode prev = null;
    ListNode curr = head;
    while (curr != null) {
        ListNode nextTemp = curr.next;
        curr.next = prev;
        prev = curr;
        curr = nextTemp;
    }
    return prev;
}
相關文章
相關標籤/搜索