gpt4 book ai didi

java - 如何通过追加方式拼接两个列表

转载 作者:行者123 更新时间:2023-12-01 14:51:07 31 4
gpt4 key购买 nike

我尝试过:

List splice(List l1, List l2){
List l3 = new LinkedList();
return l3;
}

List append(List l1, List l2) {
List to_return = copy(l1);
List l3 = copy(l2);
while (true) {
if (l3.isEmpty())
return to_return;
to_return = append1(to_return,hd(l3));
l3 = tl(l3);
}
}

接下来我应该做什么?如果我输入 [1,2,3][a,b],我想得到 [1,a,2,b,3].

最佳答案

我不太明白你的代码,但你说

If I input [1,2,3] and[a,b], I want to get[1,a,2,b,3].

这可以通过

来实现
static <T> List<T> interleave(List<T> list1, List<T> list2) {
List<T> newList = new ArrayList<T>();
List<T> shortOne = list1.size() < list2.size() ? list1 : list2;
List<T> longOne = list1.size() < list2.size() ? list2 : list1;
for (int i = 0; i < shortOne.size(); i++) {
newList.add(list1.get(i));
newList.add(list2.get(i));
}
for (int i = shortOne.size(); i < longOne.size(); i++) {
newList.add(longOne.get(i));
}
return newList;
}

编辑

根据您使用的 List 实现,本文中接受的答案的方法可能更有效:Java: Interleave two integer based arraylists -> good approach?

关于java - 如何通过追加方式拼接两个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14840707/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com