当前位置: 首页 > news >正文

两个链表求并集、交集、差集

两个链表求并集、交集、差集

两个链表求并集、交集、差集其实都是创建一个新链表然后遍历插入的题型,所以下边就举并集一个例子。

  • 首先将l1里的所有节点遍历存储到新节点l中
  • 开始遍历l2,如果l中不存在l2中的节点就将其尾插到l中

下面是两个链表求并集、交集、差集的代码实现:

class Main {//并集public static List<Integer> union(List l1,List l2){List<Integer> l=new LinkedList<>();for (int i = 0; i < l1.size(); i++) {l.add((Integer) l1.get(i));}for (int i = 0; i < l2.size(); i++) {for (int j = 0; j < l1.size();j++) {if(l2.get(i).equals(l1.get(j))){break;}if(j==l2.size()-1){l.add((Integer) l2.get(i));}}}return l;}public static List<Integer> intersection(List l1,List l2){List<Integer> l=new LinkedList<>();for (int i = 0; i < l1.size(); i++) {for (int j = 0; j < l2.size(); j++) {if(l1.get(i).equals(l2.get(j))){l.add((Integer) l1.get(i));}}}return l;}//链表实验//任务二//差public static List<Integer> diff(List l1,List l2){//创建一个新链表存储差集List<Integer> l=new LinkedList<>();//遍历比较for (int i = 0; i < l1.size(); i++) {for (int j = 0; j < l2.size(); j++) {if(l1.get(i).equals(l2.get(j))){break;}if(j==l2.size()-1){l.add((Integer) l1.get(i));}}}return l;}public static void main(String[] args) {//创建三个链表List<Integer> l1=new LinkedList<>();List<Integer> l2=new LinkedList<>();//初始化l1和l2l1.add(1);l1.add(2);l1.add(3);l1.add(4);l2.add(2);l2.add(11);System.out.println("集合l1:"+l1);System.out.println("集合l2:"+l2);//并集System.out.println("l1和l2的并集:"+union(l1,l2));//交集System.out.println("l1和l2的交集:"+intersection(l1,l2));//差集System.out.println("l1-l2:"+diff(l1,l2));System.out.println("l2-l1:"+diff(l2,l1));}
}

实验结果如下所示:


http://www.mrgr.cn/news/70366.html

相关文章:

  • ESLint 使用教程(四):ESLint 有哪些执行时机?
  • Vue Cli的配置中configureWebpack和chainWebpack的主要作用及区别是什么?
  • 【MySQL】数据库必备知识:全面整合表的约束与深度解析
  • OSPF总结
  • pySpark乱码
  • Flutter开发应用安装二次打开闪退,ios解决方案
  • 第21节 arkts 如何读取普通文件
  • wsl2更换字体|解决nvim图标无法显示问题
  • 群晖WebDAV结合内网穿透轻松实现思源笔记跨网络同步
  • Forest-HTTP客户端框架学习笔记
  • 2024年下半年网络规划设计师案例分析真题
  • 傲基股份上市首日股价跌超10%:仍依赖亚马逊,收入未恢复到2021年
  • 【IC每日一题:SVA和覆盖率知识点】
  • HTB:Photobomb[WriteUP]
  • 【安全测试】sqlmap工具(sql注入)学习
  • 【微服务】Docker 容器化
  • 【go从零单排】WaitGroup
  • FBX福币交易所 “马斯克概念股”爆发! 特斯拉涨4%,DXYZ涨28%
  • Django SSE 高并发分析与解决
  • docker安装jdk8
  • Android Framework 框架层主要功能类的基本介绍
  • 周报8<自学>
  • 第1章 初识Kubernetes
  • 记录学习react的一些内容
  • 华为ISC供应链服务运营:流程、组织、治理与绩效管理的综合框架
  • find 命令是 Linux 系统中用于在文件系统中查找文件和目录的强大工具