java 链表删除所有关键词元素


原java链表增删改地址

public void removeAll (int toRemove ,LinkedNode head) {
    if (head == null) {
        return null;
    }
    LinkedNode pre = head;
    LinkedNode node = head.next;
    while (node != null) {
        if (node.data == toRemove) {
            pre.next = node.next;
            node = pre.next;
        } else {
            pre = pre.next;
            node = node.next;
        }
    }
    if (head.data == toRemove) {
        head = head.next;
    }
    return head;
}

思路
难点在于如果链表开始的元素就是要删除的节点并且重复,例如:
1 -> 1 -> 3 -> 5 -> null
删除1
则不能一开始就删除头结点,那么从第二个节点开始删除,删除完成后再删除头结点

发布了21 篇原创文章 · 获赞 9 · 访问量 561

猜你喜欢

转载自blog.csdn.net/weixin_45328602/article/details/101633094