Как создать указатели узлов для моего класса linkedlist в java
Привет всем, у меня есть этот код из видео YouTube о том, как найти n-й узел из конца Linkedlist, этот код находится в классе Node, но я создал класс Linkedlist и добавил элементы в свой Linkedlist. Я хочу изменить объявление метода
public Node nthToLast(Node node, int n)в класс Node, чтобы принять связанный список LinkedList
public Node nthToLast(Linkedist nthLinkedList, int n)так что я могу передать свой Linkedlist в качестве аргумента из основного метода, но когда я изменил объявление метода в классе Node, я не знаю, как назначить переменные (указатели - curr и follower) моему головному узлу Linkedlist, чтобы он мог работать с существующей структурой кода. Обратите внимание, я знаю, что метод Node node не может принимать LinkedList, поэтому я изменил параметры метода, а также класс Node и мой класс Linkedlist находятся в одном пакете. Мой класс Linkedlist показывает ошибку на
System.out.println(node.nthToLast(nthLinkedList, n));поэтому я даже не стал его запускать, потому что знаю, что он не будет компилироваться. Спасибо за любую помощь.
Класс Node из видео YouTube -
public class Node { private int value; private Node next; public Node nthToLast(Node node, int n) { Node curr = node; Node follower = node; for (int i = 0; i < n; i++) { if (curr == null) { return null; } curr = curr.next; } while (curr.next != null) { curr = curr.next; follower = follower.next; } return follower; } }
Что я уже пробовал:
Мой основной класс, где я объявил и инициализировал свой LinkedList и вызвал метод nthToLast из класса Node -
<pre>public class FindNthNodeFromEndOfLinkedlist { public static void main(String[] args) { List nthLinkedList = new LinkedList<Integer>(); nthLinkedList.add(1); nthLinkedList.add(2); nthLinkedList.add(3); nthLinkedList.add(4); nthLinkedList.add(5); int n = 4; Node node = new Node(); System.out.println(node.nthToLast(nthLinkedList, n)); } }