码迷,mamicode.com
首页 > 编程语言 > 详细

算法:反转链表。

时间:2018-08-14 00:21:55      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:节点   none   scribe   ack   subject   nbsp   ret   play   tno   

题目描述

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

思路

定义当前head,前序节点pre,后续节点next;
依次遍历所有节点,将所有节点的next指向前一个节点。
package LG.nowcoder;

/**
 * @Author liguo
 * @Description 输入一个链表,反转链表后,输出新链表的表头。
 * 思路:定义当前head,前序节点pre,后续节点next;
 * 依次遍历所有节点,将所有节点的next指向前一个节点
 * @Data 2018-08-13 23:24
 */
public class Solution4 {
    public ListNode ReverseList(ListNode head) {
            ListNode pre = null;
            ListNode next = null;
            while (head != null) {
                next = head.next;//持有下一个节点的引用
                head.next = pre;//将当前节点对下一个节点的引用指向前一个节点
                pre = head;//将前一个节点指向当前节点
                head = next;//将当前节点指向下一个节点
            }
            return pre;
    }
}

 

算法:反转链表。

标签:节点   none   scribe   ack   subject   nbsp   ret   play   tno   

原文地址:https://www.cnblogs.com/liguo-wang/p/9471841.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!