反转单链表和双链表【Java实现】-创新互联

题目:分别实现反转单链表和反转双链表的函数

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的五华网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!反转单链表

思路:

(1)准备两个指针 一个是pre 一个是next,相当于head的一前一后

(2)先让 next 成为 head 的下一个节点,再将 head的next指针指向 pre(最初为null),此时head 和 next 节点已经断开联系。

(3)pre 和 head 指针分别向下走一步,然后重复上面的操作。

举例:

代码实现:

public static Node reverseList(Node head) {
        Node pre = null;
        Node next = null;
        while (head != null) {
            next = head.next; //next是2节点
            head.next = pre; //让head节点的next指向它的前一个节点
            pre = head; //pre 向下走一步
            head = next;//head向下走一步
        }
        return pre;
    }
反转双链表

与单链表一样,就是连的时候要注意last指针

代码实现:

public DoubleNode reverseList(DoubleNode head) {
        DoubleNode pre = null;
        DoubleNode next = null;
        while (head != null) {
            next = head.next;
            head.next = pre;
            head.last = next;
            pre = head;
            head = next;
        }
        return pre;
    }

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前文章:反转单链表和双链表【Java实现】-创新互联
本文URL:http://bzwzjz.com/article/csjspc.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站制作 成都网站建设流程 成都网站建设 网站建设推广 定制网站设计 企业网站建设公司 成都品牌网站建设 自适应网站设计 网站设计制作 成都网站建设推广 定制网站建设 成都定制网站建设 专业网站建设 成都定制网站建设 app网站建设 网站设计 手机网站建设套餐 营销型网站建设 网站设计公司 成都网站建设 专业网站设计 LED网站设计方案