如何使用递归从链表中删除节点



我需要使用递归从链表中删除节点。 这是我到目前为止的代码...

public class SortedSetNode implements Set {
    protected String value;
    protected SortedSetNode next;
public boolean remove(String element) {
    if (value.equals(element))
    {
        next = next.getNext();
        return true;
    }
    else
    {
        return next.remove(element);
    }
}

好吧,在不知道您面临的问题是什么的情况下,您需要在其中添加一个子句来检查您要删除的项目是否确实在链表中,即

if(next == null){
    return false;
}

除此之外,您的代码看起来不错。您遇到的问题是什么?

如果 value 属性是当前节点的值,则需要在值等于元素时删除自身,而不是删除下一个节点。除非是下一个节点的值。您可能需要一个起点,因此在比较值时,您将下一个节点的值与字符串进行比较,如果找到,则执行next = next.getNext();。当然需要检查空值。

相关内容

  • 没有找到相关文章

最新更新