力扣203. 移除链表元素

在这里插入图片描述

写法1、头节点 和 后面的节点 删除规则不一致


class Solution {
    public ListNode removeElements(ListNode head, int val) {

        //如果不建虚拟头节点,那删头节点和删后面的节点,逻辑是不一样的
        //头节点可能连续多个命中val,所以有while,不是if
        while(head!=null && head.val == val){
            head=head.next;
        }
        
        ListNode cur = head;
        //上面head可能全部删完了,所以要判断,cur不为null,我们下面需要取cur.next的val,所以还要判断cur.next不为null,
        while(cur!=null&&cur.next!=null){
            if(cur.next.val == val){
            //相等就跳过中间的一个节点
                cur.next = cur.next.next;
            }else{
            //不相等就往后走
                cur = cur.next;
            }

        }
        return head;
    }
}

写法2、新建虚拟指针法:使得删除规则可以一致


class Solution {
    public ListNode removeElements(ListNode head, int val) {

   		 //新建一个虚拟头节点,让算法规则统一
         ListNode xuniHead = new ListNode();
         xuniHead.next = head;
         //当前节点cur必须指向虚拟头节点 而不是head,因为我们算法统一后是没办法删除cur本身节点的,算法只能删除cur.next及之后的(也就是head及之后的)
         ListNode cur = xuniHead;
        while(cur.next!=null){
            if(cur.next.val == val){
                //相等就跳过中间的一个节点
                cur.next = cur.next.next;
            }else{
            	//不相等就往后走
                cur = cur.next;
            }
        }
        return xuniHead.next;
    }
}

相关推荐

  1. 【LeetCode】203. 元素

    2024-03-18 21:34:04       34 阅读
  2. leetcode203. 元素

    2024-03-18 21:34:04       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-18 21:34:04       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-18 21:34:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-18 21:34:04       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-18 21:34:04       20 阅读

热门阅读

  1. 大模型学习中,为什么要把AI当人看?

    2024-03-18 21:34:04       25 阅读
  2. server.servlet.path和#server.servlet.context-path的区别

    2024-03-18 21:34:04       24 阅读
  3. 【C#语言入门】19. 什么是类

    2024-03-18 21:34:04       21 阅读
  4. 使用TOPDN做L53免费域名DNS解析方法

    2024-03-18 21:34:04       23 阅读
  5. Rust矢量数据库领域的优势

    2024-03-18 21:34:04       21 阅读
  6. 【Python学习笔记】Python logging模块的学习

    2024-03-18 21:34:04       25 阅读
  7. 算法笔记p142快速排序

    2024-03-18 21:34:04       22 阅读
  8. docker服务起不来原因及解决

    2024-03-18 21:34:04       21 阅读
  9. JDBC的概念

    2024-03-18 21:34:04       23 阅读