剑指Offer(书):反转链表

Posted liter7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指Offer(书):反转链表相关的知识,希望对你有一定的参考价值。

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

分析:要分清他的前一个节点和后一个节点,开始的时候前节点为null,后节点为head.next,之后,反转。

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

        ListNode preNode = null;
        ListNode currentNode = head;
        ListNode afterNode = head.next;
        while (currentNode!=null){
            currentNode.next=preNode;
            preNode = currentNode;
            if (afterNode.next == null) {
                afterNode.next=currentNode;
                break;
            }
            currentNode=afterNode;
            afterNode = afterNode.next;
        }
        return afterNode;
    }

 

以上是关于剑指Offer(书):反转链表的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer题目系列三(链表相关题目)

《剑指Offer——24. 反转链表》代码

剑指Offer-反转链表

剑指Offer:反转链表

剑指offer:反转链表

剑指offer-反转链表