java - 如何删除链表中的节点?

标签 java

删除节点时替换方法是什么样的?

最佳答案

以下逻辑应该有效:

if (position.c > 0) {
    position.c--; 
    if (position.c == 0) {
        // delete entire node
        if (previous == null) {
            // delete head node
            head = position.next;
        } else {
            // delete a node with a predecessor
            previous.next = position.next;
        }
    }
}

请注意,我已将您代码中的 next 分配颠倒过来。您所做的就是在 position 处使用循环引用终止列表(因为此时 previous.next ==position)。

顺便说一句,这里不需要 if 语句:

found = true;
if(found==true){
    . . .
}

它可能只是:

found = true;
. . .

关于java - 如何删除链表中的节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16096745/

相关文章:

java - 无法在 web.xml 中解析 Servlet

java - Web 应用程序中的 Spring 线程

没有spring security的java mvc授权

java - 我可以从导入的包中为类创建对象吗

java - 为什么在 apache opennlp 1.8 中分类是 String[ ] 而不是 String?

Java MVC 何时何地获取我对 EDT 的看法以及我的 Controller 如何对 EDT 执行操作?

java - 在 Hibernate 中映射集合的简单值类型时出现异常

java - 枚举作为实例变量

java - 类文件常量池中存在非法 UTF8 字符串

java - 头文件的优点/缺点