定义一个链表对象,存储字符串,把链表中的元素倒序写入另一个链表中,找出两个链表中的相同元素(元素的位置和内容都相同)
一点头绪都没有,是用冒泡排序或者循环吗
java链表问题,求解答
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
6条回答 默认 最新
- 技术专家团-小桥流水 2022-04-27 17:06关注
不需要排序啊,创建链表A后,遍历链表A,采用头插法,链表A中的数据写入链表B,然后从头遍历A和B,内容相等的就输出。
代码如下:
ListNode.javapublic class ListNode { public String data; ListNode next; }
Test.java:
import java.util.Scanner; public class Test { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int nlen = 0; //记录链表长度 System.out.print("请输入链表元素个数:"); nlen = sc.nextInt(); // //创建链表 ListNode list1 = new ListNode(); //链表1 list1.next = null; ListNode list2 = new ListNode(); //链表2 list2.next = null; ListNode t1 = list1; //创建链表1 for(int i=0;i<nlen;i++){ ListNode p = new ListNode(); p.data = sc.next(); //读取字符串 p.next = null; t1.next = p; t1 = p; } System.out.println("链表1:"); t1 = list1.next; while(t1 != null){ System.out.print(t1.data + " "); t1 = t1.next; } System.out.println(); //将链表1的元素插入链表2 t1 = list1.next; while(t1 != null){ ListNode ts = new ListNode(); ts.data = t1.data; ts.next = list2.next; list2.next = ts; t1 = t1.next; } System.out.println("链表2:"); ListNode t2 = list2.next; while(t2 != null){ System.out.print(t2.data+" "); t2=t2.next; } System.out.println(); System.out.println("链表1和链表2相同元素:"); //遍历1和2,找出相同元素 t1 = list1.next; t2 = list2.next; while(t1!= null && t2 != null){ if(t1.data.equals(t2.data)) System.out.println(t1.data); // t1 = t1.next; t2 = t2.next; } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 echarts动画效果失效的问题。官网下载的例子。
- ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
- ¥15 Attention is all you need 的代码运行
- ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
- ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
- ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
- ¥30 关于<main>标签页面跳转的问题
- ¥80 部署运行web自动化项目
- ¥15 腾讯云如何建立同一个项目中物模型之间的联系
- ¥30 VMware 云桌面水印如何添加