线性数据结构案例2 —— 单链表反转

Posted gary97

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性数据结构案例2 —— 单链表反转相关的知识,希望对你有一定的参考价值。

一、介绍

?我们首先创建一个新的头节点交reverseHead,遍历我们原来的链表,每遍历一个就放在新链表的最前端,最后将原来链表的头节点的后续节点指向新链表头节点的后续节点。

二、代码

public void reverseSingleLinkedList(Node head) {
        // 如果链表为空 或者只有一个元素就没必要反转了
        if (head.next == null || head.next.next == null) {
            return;
        }
        Node reverseHead = new Node(0, "");
        Node temp = head.next;
        Node tempNext = null;
        while (temp != null) {
            tempNext = temp.next;
            reverseHead.next = tempNext;
            temp = tempNext;
        }
        head.next = reverseHead.next;
    }

以上是关于线性数据结构案例2 —— 单链表反转的主要内容,如果未能解决你的问题,请参考以下文章

线性表总结(单链表的反转)

Java单链表反转

线性数据结构案例4 —— 合并两个有序的单链表 合并之后依然有序

初级--04---链表反转----链表实现栈队列双端队列

单链表反转java代码

高效代码之反转单链表