Skip to content
Blogster on GitHub Dinesh on Twitter

206.反转链表

链接

思路

题意十分简单,使用三个指针就可以完成了,具体的可以看图

11 12 13 14 15

值得注意的是,在反转链表最终都会有一个性质

  1. pre指针指向末尾元素

  2. cur指针指向pre指针的下一个位置

代码

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode reverseList(ListNode head) {

        ListNode pre = null;
        ListNode cur = head;

        while (cur != null) {
            ListNode next = cur.next;
            cur.next = pre;
            pre = cur;
            cur = next;
        }
        return pre;

    }
}