双向链表中的递归方法

时间:2016-09-11 22:44:25

标签: java recursion methods data-structures linked-list

我需要在双向链表中开发递归方法(不能使用while,do ... while和for),如果 i 是> = 0且 i 小于列表的值。否则返回 null 。任何帮助将非常感激。 这也是我的迭代方法:

public String get(int i) {
    if(i<0 || i>=lenght) {
        return null;
    }
    Node t = head;
    for(int c = 0; c != i; c++) {
       t = t.next;
    }
    return t.element;
}

2 个答案:

答案 0 :(得分:1)

尝试这样的事情:

getBookDb()

答案 1 :(得分:1)

public String get(Node current, int currentIndex, int targetIndex) {
    // first check the exit condition of the method
    if(currentIndex <0 || currentIndex >= length || current == null) {
            return null;
    }
    // check the second exit contidion
    if (currentIndex == targetIndex)
    {
        return current.element;
    }
    // go forward by increasing the index
    return get(current.next, currentIndex + 1, targetIndex);
}