java如何在不使用节点的情况下交替合并链表?通过使用递归?
没有错误,但仍然不起作用。我不知道怎么了。我们还没有在课堂上讨论节点的概念,所以我很难理解它
它的输出应该是:
骨瘦如柴的爱-小鸟
更快乐-埃德·希兰
总有一天-切尔西·卡特勒
public class HandsOnAct1 {
static LinkedList songs = new LinkedList();
static LinkedList artists = new LinkedList();
static LinkedList playlist = new LinkedList();
public static void Merge(){
int element= songs.size();
int number=0;
System.out.println(element);
if (number !=element){
playlist.add(number, songs);
playlist.add(number,artists);
number++;
}
System.out.println(playlist);
}
public static void main(String[] args) {
songs.add("Skinny Love");
songs.add("Happier");
songs.add("Sometimes");
artists.add("Birdy");
artists.add("Ed Sheeran");
artists.add("Chelsea Cutler");
Merge();
}
}
# 1 楼答案
这是一个使用递归的例子,我知道这是一个先决条件
您自己的代码的主要问题是,您需要从内部再次调用merge,或者像我所做的那样将索引移到函数外部,或者将其作为
public static void merge(int index)
之类的参数。然后,您将从内部调用它,如merge(index++)
我想这是一个意见问题。(如果您愿意,您可以阅读纯函数/非纯函数和命令式/函数式编程,这是两者的区别)