剑指offer-面试题16-反转链表

来源:互联网 发布:centos tmp 自动清理 编辑:程序博客网 时间:2024/06/05 04:31

题目描述:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。

题目分析:直接一遍遍历下来,使用尾插法,记录前一个结点

//反转链表    public static ListNode reverseList(ListNode head) {        ListNode reverseListHead = null;//反转后的头结点        ListNode currentListNode = head;//当前结点        ListNode preListNode = null;//前一个结点        while (currentListNode != null) {            ListNode next = currentListNode.next;//先获取下一个结点            reverseListHead = currentListNode;            currentListNode.next = preListNode;//当前结点的下一个指向是原链表的前一个结点            preListNode = currentListNode;//重新设置前一个节点为当前的            currentListNode = next;//当前结点设为下一个,继续遍历        }        return reverseListHead;    }
0 0
原创粉丝点击