Я пытаюсь написать программу, которая переворачивает данный связанный список.Во-первых, я прочитаю число от пользователя и передам его функции, которая преобразует число в LinkedList. Затем я передам связанный список вспомогательной функции, которая обратит данный LinkedList.
Это моя программа:
import java.io.*;
import java.util.*;
public class Solution {
public class Link {
Node head;
public class Node {
int data;
Node next;
Node(int x) {
data = x;
next = null;
}
} // End of class Node
public void printList() {
Node n = head;
while (n != null) {
System.out.print(n.data+" ");
n = n.next;
}
}
public void createList(String num) {
this.head = new Node(num.charAt(0));
Node prev = head ;
for(int i = 1; i < num.length(); i++) {
Node newNode = new Node(num.charAt(i));
prev.next = newNode;
prev = newNode;
}
}
} // end of class Link
public Node reverse(Node curr) {
if (curr == null) return null;
if(curr.next != null) {
Node forward = reverse(curr->next);
curr.next.next = curr ;
curr.next = null;
} else {
return res;
}
return forward;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String number1 = sc.next();
// System.out.println(number1);
String number2 = sc.next();
//System.out.println(number2);
Link first = new Link();
first.createList(number1);
first.printList();
System.out.println("''''''''''");
Link second = new Link();
second.createList(number1);
second.printList();
System.out.println("''''''''''");
first.head = reverse(head);
first.printList();
System.out.println("''''''''''");
second.head = reverse(head);
second.printList();
System.out.println("''''''''''");
}
}
Это ошибка, которую я получаю:
Solution.java:47: error: cannot find symbol
public Node reverse(Node curr)
^
symbol: class Node
location: class Solution
Solution.java:47: error: cannot find symbol
public Node reverse(Node curr)
^
symbol: class Node
location: class Solution
2 errors
Мой вопрос, хотя и класс Link, и класс Nodeявляются общедоступными, почему метод reverse не может получить доступ к символу Node?И как должны быть написаны вспомогательные методы в Java, чтобы они обращались к объектам любых классов.