剑指Offer——反转链表 Java

2019-04-04  本文已影响0人  Mereder

题目描述

输入一个链表,反转链表后,输出新链表的表头。

解题思路

多再纸上画画 看看

给定链表:1->2->3->4->5

思考的时候 一定要从第二次反转开始,第一次反转时候 pre = node;很容易错用pre和node

即 从 2->1->3->4->5的时候思考 ,此时 node->2 pre->1 cur->3
(字丑勿怪)

image.png

题解

    public  ListNode ReverseList(ListNode node){
        if (node == null ) return null;
        ListNode pre = node;
        ListNode cur = node.next;
        while (cur != null){
            pre.next = cur.next;
            cur.next = node;
            node = cur;
            cur = pre.next;
        }
        return node;
    }
上一篇 下一篇

猜你喜欢

热点阅读