java acm A1003--顺序合并两个非有序的链表

A1003–顺序合并两个非有序的链表

给定由整数组成的两个无序数组,根据顺序合并成一个数组。

输入包括两行,每行由若干个由->分隔的整数组成,分别表示以最左整数为链表头,单向指向右侧节点的链表,每行输入均以 .结尾。

输出为合并后的单向链表,由->表示其间的指针,最终指向由NULL表示的空值。

在合并过程中,比较两个链表当前待合并的第一个元素,选择其中较小的那个元素放入合并后的数组。

输入格式
输入两行字符串,每行字符串由 有符号整数、->和.组成。

输出格式
输出一行字符串,表示合并后的数组。

样例输入复制
1->2->3.
1->0->2.
样例输出复制
1->1->0->2->2->3->NULL

package hello;
import java.util.Scanner;
public class Main40 {
	
	public static void main(String[] args) {
	Scanner	scanner = new Scanner(System.in);	
		String string=scanner.next();
		String string2=scanner.next();
		char []a=string.toCharArray();
		char []b=string2.toCharArray();
		int t=a.length;
		int t2=b.length ;
		int sum=0;
		if(t>t2) {
			sum=t2;
		}else {
			sum=t;
		}
		for(int i=0;i<sum;i=i+3) {
			    int j=i;
				if(a[i]>=b[j]) {
					System.out.print(b[j]);
					System.out.print("->");
					System.out.print(a[i]);
					System.out.print("->");
				}
				else {
					System.out.print(a[i]);
					System.out.print("->");
					System.out.print(b[j]);
					System.out.print("->");
				}
				
				
			}
		if(sum==t&&sum==t2) {
			System.out.print("NULL");
		}
		else if(sum==t){
			for(int k=t+1;k<b.length;k=k+3) {
				System.out.print(b[k]);
				System.out.print("->");
			}
			System.out.print("NULL");
		 }
		else if(sum==t2){
				for(int y=t2+1;y<a.length;y=y+3) {
					System.out.print(a[y]);
					System.out.print("->");
				}
				System.out.print("NULL");
			}
		
			
		
	}
}

这个代码是可以输出正确的答案的

大佬帮忙指点一下,自己测试是可以输出正确答案的,但是提交到题库就不行了,不知道为什么

你们可以试一试,复制一下,我是找不到错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值