栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

反转链表Java

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

反转链表Java

ListNode基本用法

链表的结构

链表:

由一系列结点组成(链表中每一个元素称为节点),结点可以在运行时动态生成

每个结点包含两个部分:

一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域

构建链表

static class ListNode {
            int val;//结点值
            ListNode next;//下一个结点
            public ListNode(int val, ListNode next) {
                this.val = val;
                this.next = next;
            }
        }

反转链表核心代码

 public static ListNode recursion(ListNode head) {
            if (head == null || head.next == null) {
                return head;
            }
            ListNode newhead = recursion(head.next);
            head.next.next = head;
            head.next = null;
            return newhead;
        }

原始链表

 public static void main(String[] args) {
            ListNode node5 = new ListNode(5, null);
            ListNode node4 = new ListNode(4, node5);
            ListNode node3 = new ListNode(3, node4);
            ListNode node2 = new ListNode(2, node3);
            ListNode node1 = new ListNode(1, node2);
            ListNode prev= recursion(node1);
            System.out.println(prev);
        }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/842051.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号