PAT:两个有序链表序列的合并(Java实现)
来源:互联网 发布:深爱的女孩 网络歌手 编辑:程序博客网 时间:2024/05/24 04:16
两个有序链表序列的合并
已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的并集新非降序链表S3。
public class Test4 {public static void main(String[] args) {// TODO Auto-generated method stubLinkNode l1=new LinkNode();LinkNode node1=new LinkNode();LinkNode node2=new LinkNode();LinkNode l2=new LinkNode();LinkNode node3=new LinkNode();LinkNode node4=new LinkNode();l1.next=node1;node1.data=2;node1.next=node2;node2.data=4;node2.next=null;l2.next=node3;node3.data=1;node3.next=node4;node4.data=3;node4.next=null;LinkNode l3=merge(l1,l2); print(l3); print(l1); print(l2); }public static LinkNode merge(LinkNode l1,LinkNode l2){if(l1.next==null && l2.next==null)return l1;if(l1.next==null)return l2;if(l2.next==null)return l1;LinkNode pa=new LinkNode();LinkNode pb=new LinkNode();LinkNode pc=new LinkNode();LinkNode l3=new LinkNode();pa=l1.next;pb=l2.next;l3=pc;while(pa!=null && pb!=null){if(pa.data<pb.data){pc.next=pa;pa=pa.next;}else{pc.next=pb;pb=pb.next;}pc=pc.next;}if(pa!=null)pc.next=pa;elsepc.next=pb;l1.next=null;l2.next=null;return l3;}public static void print(LinkNode l){if(l.next==null){System.out.print(l.next);}LinkNode p=l;while(p.next!=null){p=p.next;System.out.print(p.data+" ");}System.out.println();}}class LinkNode{int data;LinkNode next;}
0 0
- PAT:两个有序链表序列的合并(Java实现)
- PAT 2-11 两个有序链表序列的合并(C语言实现)
- PAT 两个有序链表序列的合并
- 两个有序链表序列的合并 PAT
- 浙大PAT 2-11. 两个有序链表序列的合并 (解题思路)
- pat(A)2-11. 两个有序链表序列的合并
- 5-51 两个有序链表序列的合并(Java)
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- 两个有序链表序列的合并
- Servlet-过滤器
- JavaScript异步加载
- thinkpad 开机进入dois快捷键
- Qt 之 使用 https:// 发送 HTTP请求
- hibernate--博客
- PAT:两个有序链表序列的合并(Java实现)
- 约瑟夫环
- QT之灰色头像(类似QQ离线头像)
- Poj_2262 Goldbach's Conjecture(筛法求素数)
- oracle数据库常用操作语句
- 看过的算法题(未亲自实现)
- Oracle数据库生成UUID
- LitePal无法使用自定义主键的临时解决方案
- Android从零开搞系列:自定义View(3)Canvas基本API+综合应用+开源分析