Java实现创建链表与打印链表元素(可作为模板)

这篇具有很好参考价值的文章主要介绍了Java实现创建链表与打印链表元素(可作为模板)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、通过数组元素值,构造一个单向链表;

2、将链表元素以数组的形式打印出来,如“[1, 2, 3, 4]”文章来源地址https://www.toymoban.com/news/detail-745685.html

package listnodes;

//创建节点类
class ListNode {
    int val;
    ListNode next;
    ListNode() {}
    ListNode(int val) { this.val = val; }
    ListNode(int val, ListNode next) { this.val = val; this.next = next; }
}

public class RemoveElements {

    public static void main(String[] args) {

        //构造链表
        int[] nums = new int[]{1,2,2,1};
        ListNode head = null;
        //按照从后往前的顺序遍历数组,最终构造出一个链表
        for (int i = nums.length - 1; i >= 0; i--) {
            ListNode node = new ListNode(nums[i]);
            if(head != null){
                node.next = head;
            }
            head = node;
        }

        //处理链表
        Solution sol = new Solution();
        ListNode resNode = sol.removeElements(head, 2);

        //遍历链表并打印
        StringBuilder sb = new StringBuilder("[");
        while(resNode != null){
            if(sb.length() != 1) sb.append(", ");
            sb.append(resNode.val);
            resNode = resNode.next;
        }
        sb.append("]");
        System.out.println(sb);//[1, 1]
    }
}


class Solution {
    public ListNode removeElements(ListNode head, int val) {
        if (head == null) {
            return head;
        }
        head.next = removeElements(head.next, val);
        return head.val == val ? head.next : head;
    }
}

到了这里,关于Java实现创建链表与打印链表元素(可作为模板)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java静默打印PDF(可实现生产环境下服务器写入PDF模板,然后调用客户端打印机打印)

    需求 写这个的原因主要是因为当时项目中的打印功能是用户打印标签时,每次点击打印是通过把PDF文件下载到客户端浏览器,然后需要通过浏览器去点击打印机实现打印,就非常麻烦,每次都步骤非常复杂,而且每次参数都要重新设置。于是就想着怎么通过java实现自己调用

    2024年02月13日
    浏览(46)
  • 【数据结构 | 入门】线性表与链表 (问题引入&实现&算法优化)

    🤵‍♂️ 个人主页: @计算机魔术师 👨‍💻 作者简介:CSDN内容合伙人,全栈领域优质创作者。 本文是浙大数据结构学习笔记专栏 这里我们引入一个问题,最常见的多项式,我们如何使用编程将多项式表示出来呢? 我们可以使用数组来表示,但是会随着一个问题,如下图底

    2024年01月21日
    浏览(67)
  • 算法村第一关黄铜|链表|单链表与双向链表(c语言&c++实现)

    1.理解C 语言里是如何构造出链表的 2.链表增加元素,首部、中间和尾部分别会有什么问题,该如何处理? 3.链表删除元素,首部、中间和尾部分别会有什么问题,该如何处理? 4.双向链表是如何构造的,如何实现元素的插入和删除。 链表是一种常见的数据结构,由一系列节

    2024年02月15日
    浏览(38)
  • [Collection与数据结构] 链表与LinkedList (一):链表概述与单向无头非循环链表实现

    上篇文章我们已经对顺序表进行了实现,并且对ArrayList进行了使用,我们知道ArrayList底层是使用数组实现的. 由于其底层是一段连续空间,当在ArrayList任意位置插入或者删除元素时, 就需要将后序元素整体往前或者往后搬移,时间复杂度为O(n),效率比较低 ,因此ArrayList不适合做

    2024年04月26日
    浏览(62)
  • 数据结构三叉链表与线索二叉树的思路与实现详解

    ❤️作者主页:微凉秋意 ✅作者简介:后端领域优质创作者🏆,CSDN内容合伙人🏆,阿里云专家博主🏆 我们知道最常见的链式存储二叉树的结构体中有数据域、左孩子指针以及右孩子指针,通过递归来创建二叉树。显而易见的是,想找到二叉树中任意一个结点的 前驱 或 后

    2024年02月02日
    浏览(56)
  • 顺序表与链表

    思维导图:   顺序表与链表都是两种线性表,但是两者之间又有着许多的不同。顺序表是一种连续的空间,实际上就是数组。链表是不连续的空间,链表的空间是一块一块的开辟出来的。 两者的优点与缺点 : 顺序表: 优点: 1.顺序表的空间是连续的,所以能够支持下标的

    2024年02月12日
    浏览(56)
  • 【数据结构】链表与LinkedList

    作者主页: paper jie 的博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVA数据结构》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造,将javaSE基础知识一网打尽,希望可以帮到读者们哦。 其他专栏

    2024年02月08日
    浏览(47)
  • Java移除链表元素

    目录 1.题目描述 2.题解 题解1 题解2 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足  Node.val == val  的节点,并返回  新的头节点  。 示例 输入:head = [1,2,6,3,4,5,6],val = 6 输出:[1,2,3,4,5] 输入:head = [], val = 1 输出:[] 输入:head = [7,7,7,7], val = 7 输出:

    2024年02月07日
    浏览(30)
  • 【数据结构(三)】链表与LinkedList

    ❣博主主页: 33的博客❣ ▶️文章专栏分类:数据结构◀️ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵 关注我带你学更多数据结构知识 在上一篇文章中,我们已经认识了顺序表,通过源码我们知道ArrayList底层是使用数组来存储元素,当在ArrayList任意位置插入或者删除元素时,

    2024年04月13日
    浏览(49)
  • 顺序表与链表的区别

    目录 一、顺序表和链表的比较 顺序表 优点: 缺点: 链表 优点 缺点 二、顺序表和链表的区别 1.顺序表和链表都具有增、删、查、改功能,但算法复杂度却不相同。 2、从数据元素存储的内存角度来看 三、顺序表与链表选取方案 顺序表的特点是逻辑上相邻数据元素,物理存

    2024年02月08日
    浏览(105)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包