题目1519:合并两个排序的链表
来源:互联网 发布:qq飞车通灵剃刀数据 编辑:程序博客网 时间:2024/06/05 00:47
import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.math.BigInteger;import java.util.StringTokenizer;public class Main { public static void main(String[] args) { new Task().solve() ; }}class Task{InputReader in = new InputReader(System.in) ;PrintWriter out = new PrintWriter(System.out) ;class Node{ int value ; Node next ; Node(int value){ this.value = value ; next = null ; }}Node buildNode(int n){Node head = null , now = null ; for(int i = 1 ; i <= n ; i++){ Node node = new Node(in.nextInt()) ; if(head == null) now = head = node ; else{ now.next = node ; now = node ; } }return head ; }Node merge(Node first , Node second){Node head = null , now = null ;while(first != null && second != null){Node node = null ;if(first.value <= second.value){node = new Node(first.value) ;first = first.next ;}else{node = new Node(second.value) ;second = second.next ;}if(head == null) now = head = node ;else{now.next = node ;now = now.next ;}}while(first != null){Node node = new Node(first.value) ;first = first.next ;if(head == null) now = head = node ;else{now.next = node ;now = now.next ;}}while(second != null){Node node = new Node(second.value) ;second = second.next ;if(head == null) now = head = node ;else{now.next = node ;now = now.next ;}}return head ; }void printNode(Node head){if(head == null){out.println("NULL") ;return ;}else{Node now = head ;while(now != null){out.print(now == head ? "" : " ") ;out.print(now.value) ;now = now.next ;}out.println();}}void solve(){while(in.hasNext()){int n = in.nextInt() ;int m = in.nextInt() ;Node first = buildNode(n) ;Node second = buildNode(m) ;printNode(merge(first, second)) ;//out.flush();}out.flush();}}class InputReader { public BufferedReader reader; public StringTokenizer tokenizer; public InputReader(InputStream stream) { reader = new BufferedReader(new InputStreamReader(stream), 32768); tokenizer = new StringTokenizer(""); } private void eat(String s) { tokenizer = new StringTokenizer(s); } public String nextLine() { try { return reader.readLine(); } catch (Exception e) { return null; } } public boolean hasNext() { while (!tokenizer.hasMoreTokens()) { String s = nextLine(); if (s == null) return false; eat(s); } return true; } public String next() { hasNext(); return tokenizer.nextToken(); } public int nextInt() { return Integer.parseInt(next()); } public long nextLong() { return Long.parseLong(next()); } public double nextDouble() { return Double.parseDouble(next()); } public BigInteger nextBigInteger() { return new BigInteger(next()); } }
0 0
- 题目1519:合并两个排序的链表
- 题目1519:合并两个排序的链表-九度
- 题目1519:合并两个排序的链表
- 九度 题目1519:合并两个排序的链表
- 题目1519:合并两个排序的链表
- 题目1519:合并两个排序的链表
- 题目1519:合并两个排序的链表
- 题目1519:合并两个排序的链表
- 题目1519:合并两个排序的链表
- 题目1519:合并两个排序的链表
- 题目1519:合并两个排序的链表
- 剑指Offer题目1519:合并两个排序的链表
- 题目17:合并两个排序的链表
- 算法题目---合并两个排序的链表
- 题目:合并两个排序链表
- 题目1519:合并两个排序的链表 九度 本地通过 参考别人的
- 剑指offer- 题目1519:合并两个排序的链表 (2014.1.3)
- 九度_题目1519:合并两个排序的链表
- java中List对象排序通用方法
- input中的radio和checkbox美化
- nginx 跨域访问
- set find erase 自定义排序类型
- [时间序列分析][1]--平稳性,白噪声的检验
- 题目1519:合并两个排序的链表
- Java代码的 MD5 / SHA-1 等Hash算法的加密
- HashMap源码学习笔记
- Spring4深入理解----事务(声明式事务和xml配置事务,事务传播属性,事务其他属性(隔离级别&回滚&只读&过期))
- C# 输入法
- python中coding:utf-8和setdefaultencoding区别
- python学习笔记4
- java数组初始化以及数组拷贝
- cc: 错误:firstc.c:没有那个文件或目录 cc: 致命错误:没有输入文件 编译中断。