链表逆序输出数值(并且不能改变链表结构)

链表逆序输出数值

创建一个链表之后,翻转该链表返回一个链表,该链表由node1->node2->node3变成node3->node2->nod1.同时不能改变结构。

思路

首先拿到这道题第一想法是,如何把node的next当成pre来用。肯定是需要先循环中把最后面的一个放到最前面。定义两个node,一个nextnode一个prenode。先拿出node的下一个赋给nextnode方便下一步的调用,接着把该节点node的值指向prenode,下一步把node的值赋给nodepre等待下一个node的连接。最后把nextnode的值赋给node继续循环。

代码

package likendListStudy;

public class ReverseLinkedListNotChange {

    public Node ReverseList(Node node) {
        if (node == null) {
            return null;
        }
        Node nodePre= null;
        Node nodeNext= null;
        while (node != null) {
            // 首先拿到链表下一个要拿的node
            nodeNext = node.getNest();
            // 把node下一个存成定义好的上一个pre。
            node.setNest(nodePre);
            // 把node放到pre中
            nodePre = node;
            // 把要查的节点赋给node
            node = nodeNext;
        }
        return nodePre;
    }

    void printList(Node node) {
        while (node != null) {
            System.out.print(node.getData()+",");
            node = node.getNest();
        }
    }

    public static void main(String args[]) {
        Node node = new Node(1);
        Node node1 = new Node(2);
        Node node2 = new Node(3);
        Node node3 = new Node(4);
        Node node4 = new Node(5);
        node.setNest(node1);
        node1.setNest(node2);
        node2.setNest(node3);
        node3.setNest(node4);
        ReverseLinkedListNotChange reverseLinkedListNotChange = new ReverseLinkedListNotChange();
        Node nodef= reverseLinkedListNotChange.ReverseList(node);
        reverseLinkedListNotChange.printList(nodef);
    }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 摘自《维基百科》 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储...
    ChinaChong阅读 1,754评论 0 52
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,985评论 0 2
  • 搞懂单链表常见面试题 Hello 继上次的 搞懂基本排序算法,这个一星期,我总结了,我所学习和思考的单链表基础知识...
    醒着的码者阅读 4,655评论 1 45
  • 8马卡连科说过:"教育,首先是教师品格的陶冶,行为的教育,然后才是专门知识和技能的训练。"我们都知道作为教师,师德...
    刷刷0817阅读 790评论 0 11
  • 归 昨夜客旅梦霓幢, 今宵归来枕松江。 浮云细雨匆匆去, 往来居壘燕双双。 杨柳岸边听玉笛, 秋风萧索倚星窗。 凭...
    归州游子阅读 381评论 1 2