首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从循环链接列表中删除值

从循环链接列表中删除值
EN

Stack Overflow用户
提问于 2017-05-03 14:06:53
回答 1查看 340关注 0票数 0

我的代码出现了问题,在删除该节点后,同一节点将显示为下一个节点中的前一个节点。试图删除节点4。

穿透力:节点: 5;节点: 15;NextNode: 16;节点: 16;节点: 29;节点: 29;节点: 29;NextNode: 4:透水:节点:29;节点: 4;NextNode: 5:穿透力:节点: 4;节点: 5;NextNode: 15

移除后

穿透力:节点: 5;节点: 15;NextNode: 16;节点: 16;节点: 16;NextNode: 29;节点:16;节点: 29;NextNode: 5:节点: 4;节点: 5;NextNode: 15

代码语言:javascript
复制
public Node deleteValue(int i) {
    Node node = start;
    do {
        if (node.next.getData() == i) {
            Node n = node.next;
            node.next = n.next;

            size--;

            if (n == start) { 
                start = node;

            }
            return n;
        }][1]

        node = node.next;
    } while(node != start);
    return null;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-03 14:27:46

删除项时,您将丢失一行简单的代码。必须设置上一个元素的下一个元素和下一个元素的前一个元素.你实际上错过了第二部分。代码应该是这样的:

代码语言:javascript
复制
Node current = start;
do{
  if(current.getData() == i){
    // set the previous's next element
    current.previous.next = current.next;
    // set the next element's previous element
    current.next.previous = current.previous;
    this.size--;
    return current;
  }
  current = current.next;
}while(node != start);
return null;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43762384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档