单链表删除第一次关键字

简介: 删除第一次出现关键字为key的节点
//删除第一次出现关键字为key的节点
    public void remove(int key){
        ListNode cur = this.head;
        while (cur != null) {
            if(cur.val == key) {
                if(cur == head) {
                    head = head.next;
                    if(head != null) {
                        head.prev = null;
                    }else {
                        last = null;
                    }
                }else {
                    cur.prev.next = cur.next;
                    if(cur.next != null) {
                        //中间位置
                        cur.next.prev = cur.prev;
                    }else {
                        last = last.prev;
                    }
                }
                return;
            }
            cur = cur.next;
        }
    }
相关文章
|
9月前
|
存储 程序员 编译器
C++-关键字
C++-关键字
66 1
|
存储 算法 编译器
带你了解并掌握一些C++关键字的使用
带你了解并掌握一些C++关键字的使用
113 0
|
6月前
|
C# 计算机视觉
C#中out关键字
C#中out关键字
78 0
|
8月前
|
Java API
RentrantLock关键字详解
RentrantLock关键字详解
|
9月前
|
编译器 C语言
初识关键字
初识关键字
|
Java
关键字this
关键字this
88 0
|
编译器 程序员 Linux
C++关键字之likely和unlikely
C++关键字之likely和unlikely
780 0
C++关键字之likely和unlikely
|
存储 编译器
C深剖关键字(5)
目录 一:union关键字 二:enum关键字 三:typedef关键字
C深剖关键字(5)
|
存储 编译器 Linux
C深剖关键字(4)
目录 一:volatile关键字 二:extern关键字 三:struct关键字
C深剖关键字(4)
|
存储 安全 编译器
C深剖关键字(1)
目录 一:auto 1.1 局部变量与全局变量 1.2 auto相关 二:register 三: static 四:sizeof
C深剖关键字(1)