如何在双链表中编写递归获取方法?



这是我的代码

public class LinkedListDeque<T> implements Deque {
private Node sentinel;
private int size;
private static class Node<T> {
private T item;
private Node pre;
private Node next;
public Node(T i, Node p, Node n) {
item = i;
pre = p;
next = n;
}
public LinkedListDeque() {
size = 0;
sentinel = new Node(null, null, null);
sentinel.next = sentinel;
sentinel.pre = sentinel;
}
public LinkedListDeque(T item) {
size = 1;
Node first = new Node(item, sentinel, sentinel);
sentinel = new Node(null, first, first);
}
public Object getRecursive(int index) {}

}

我只是不知道该怎么做。我可以用一种中介方式做到这一点。我不知道从哪里开始构建递归方法。

public Node getNode(Node n, int index, int pos) {
if (index == pos) {
return n;
}
if (index > pos || n == null) {
return null;
}
return getNode(n.next, index, pos++);
}

我相信这就是你想要的,最初的调用是pos=0和LinkedList的头部。 我认为您需要查找递归的工作原理,因为您甚至未能尝试该问题。

相关内容

  • 没有找到相关文章

最新更新