java两个单链表_java – 附加两个单链表

我正在尝试使用

Java实现LinkedList,只是为了测试我的技能.我遇到了一个问题,我必须附加两个我创建的链表.我在这里进入一个无限循环.有什么办法可以改进代码并实现所需的输出吗?

I / P:

列表A:4-> 3-> 2-> 1-> 0

列表B:4-> 3-> 2-> 1-> 0

O / P应为:4-> 3-> 2-> 1-> 0-> 4-> 3-> 2-> 1-> 0

class List {

int val;

List next;

public List(int val) {

this.val = val;

}

public String toString() {

String output = "";

List current = this;

while (current != null) {

output += current.val + "->";

current = current.next;

}

return output + "NULL";

}

}

class AppendLinkedLists {

static List push(List list, int num) {

List newList = new List(num);

newList.next = list;

return newList;

}

static List appendLists(List listA, List listB) {

if (listA == null)

return listB;

else {

List tempList = listA;

while (tempList.next.next != null) {

tempList = tempList.next;

}

tempList.next.next = listB;

return listA;

}

}

public static void main(String[] args) {

List listA = new List(0);

listA = push(listA, 1);

listA = push(listA, 2);

listA = push(listA, 3);

listA = push(listA, 4);

List listB = listA;

System.out.println("Input List A : " + listA.toString());

System.out.println("Input List B : " + listB.toString());

listA = appendLists(listA, listB);

System.out.println("Combined Input Lists A and B : " + listA.toString());

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值