我们就爱程序媛Leetcode每日两题程序员

Leetcode 206. Reverse Linked Lis

2017-11-23  本文已影响12人  ShutLove

Reverse a singly linked list.

思路:
反转一个链表,反转时需要把当前节点的next指向前一个节点,因此用两个游标指针pre和dummy分别指向前一个和当前节点。
反转时,需要用一个临时节点存储当前节点的next。

public ListNode reverseList(ListNode head) {
    if (head == null || head.next == null) {
        return head;
    }

    ListNode pre = null;
    ListNode dummy = head;
    while (dummy != null) {
        ListNode next = dummy.next;
        dummy.next = pre;
        pre = dummy;
        dummy = next;
    }

    return pre;
}
上一篇下一篇

猜你喜欢

热点阅读