我需要使用递归从链表中删除节点。这是我到目前为止的代码......
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);
}
}
答案 0 :(得分:1)
嗯,不知道你面临的问题是什么,你需要一个条款来检查你要移除的项目是否实际上在链表中,即
if(next == null){
return false;
}
除此之外你的代码看起来很好。你遇到的问题是什么?
答案 1 :(得分:0)
如果value
属性是当前节点的值,那么当值等于元素时,您需要删除自身,而不是删除下一个。除非它是下一个节点的值。
您可能需要一个起始点,因此在比较值时,将下一个节点的值与字符串进行比较,如果找到,则执行next = next.getNext();
。当然需要检查空值。