Skip to content

链表实现无序符号表算法错误 #1199

@byedo

Description

@byedo

https://github.com/CyC2018/CS-Notes/blob/master/notes/%E7%AE%97%E6%B3%95%20-%20%E7%AC%A6%E5%8F%B7%E8%A1%A8.md

@Override
public void delete(Key key) {
    if (first == null)
        return;
    if (first.key.equals(key))
        first = first.next;
    Node pre = first, cur = first.next;
    while (cur != null) {
        if (cur.key.equals(key)) {
            pre.next = cur.next;
            return;
        }
        pre = pre.next;
        cur = cur.next;
    }
}

应该改成

@Override
public void delete(Key key) {
    if (first == null)
        return;
    if (first.key.equals(key)) {
        first = first.next;
        return;
    }
    Node pre = first, cur = first.next;
    while (cur != null) {
        if (cur.key.equals(key)) {
            pre.next = cur.next;
            return;
        }
        pre = pre.next;
        cur = cur.next;
    }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions