Я понял, как рекурсивно обратить вспять один список, но я пытаюсь выяснить, как объединить два списка, используя рекурсию.Как бы я рекурсивно объединить два списка?
Избегайте использования коллекций.
Вот как это делается, чтобы отменить список, но я много стараюсь, как объединить два, и я не могу понять это вообще, поэтому я прошу людей более опытных их.
public class Test {
public static class Node {
public Node next;
public String name;
public Node(String name) {
this.name = name;
}
}
public static void reverse(Node previous, Node current) {
if (current.next != null) {
Node next= current.next;
reverse(current, next);
}
if (previous == null) {
// this was the start node
current.next= null;
} else {
//reverse
current.next= previous;
}
}
public static void main(String[] args) throws IOException, InterruptedException {
Node n1= new Node("A");
Node n2= new Node("B");
Node n3= new Node("C");
Node n4= new Node("D");
n1.next= n2;
n2.next= n3;
n3.next= n4;
Node cursor= n1;
while (cursor != null) {
System.out.println(cursor.name);
cursor= cursor.next;
}
reverse(null, n1);
cursor= n4;
while (cursor != null) {
System.out.println(cursor.name);
cursor= cursor.next;
Я совершенно в тупике. Даже если я не заслуживаю полного ответа, я просто хотел бы указать в правильном направлении.
Просьба уточнить. Дайте нам код, который вы написали, сообщите нам, что вы пробовали, и т. Д. – yiwei
уточнил @YiweiG – METEORITES