《剑指offer》JZ15反转链表

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

解析:很迷啊,对链表不熟悉的请移步:https://blog.csdn.net/qq_42351880/article/details/88637387?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

代码:

/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode ReverseList(ListNode head) {
        ListNode newHead = null;
        ListNode node = null;
        while(head != null){
            //首先保存原链表head的下一个节点
            node = head.next;
            //将head取下,构建新链表
            head.next = newHead;
            //将newHead加一,为构建新链表增加新的节点
            newHead = head;
            //将head后移,使原链表减一
            head = node;
        }
        return newHead;
    }
}

你可能感兴趣的:(剑指offer)