算法:反转链表。
Posted liguo-wang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法:反转链表。相关的知识,希望对你有一定的参考价值。
题目描述
输入一个链表,反转链表后,输出新链表的表头。
思路
定义当前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; } }
以上是关于算法:反转链表。的主要内容,如果未能解决你的问题,请参考以下文章
代码随想录算法训练营第三天 | 203.移除链表元素707.设计链表 206.反转链表