《剑指offer》牛客网java题解-反转链表

来源:互联网 发布:阿尔法营销软件 编辑:程序博客网 时间:2024/06/11 02:25

输入一个链表,反转链表后,输出链表的所有元素。

链表反转的问题,就是在链表头加一个哨兵,然后不停的把后面的节点采用头插法加入。这种代码最起码也要背下来。

public class Solution { public ListNode ReverseList(ListNode head) {        if (head == null) return null;        if (head.next==null) return head;        ListNode dummy = new ListNode(0);        dummy.next = head;        ListNode pre = dummy;        ListNode last = pre.next;        ListNode cur = last.next;        while(cur != null){            last.next = cur.next;            cur.next = pre.next;            pre.next = cur;            cur = last.next;        }        return pre.next;    }}