力扣-链表-203 移除链表元素

思路1

处理头节点,然后遍历下一个节点,只有确保下一个节点不是要移除的节点时再跳到下一个节点

代码1

cpp 复制代码
class Solution {
public:
    ListNode* removeElements(ListNode* head, int val) {
        while(head != nullptr && head->val == val){
            head = head->next;
        }
        ListNode* front = head;

        while(front != nullptr &&front->next != nullptr){
            if(front->next!=nullptr && front->next->val == val){
                front->next = front->next->next;
            }else
                front = front->next;
        }

        return head;
    }
};

思路2

设置空白头节点,这样不用单独处理头节点

代码2

cpp 复制代码
class Solution {
public:
    ListNode* removeElements(ListNode* head, int val) {
        ListNode* bankNode = new ListNode();
        bankNode->next = head;
        ListNode* cur = bankNode;

        while(cur->next != nullptr){
            if(cur->next->val == val){
                cur->next = cur->next->next;
            }else
                cur = cur->next;
        }

        return bankNode->next;
    }
};
相关推荐
earthzhang202138 分钟前
【1028】字符菱形
c语言·开发语言·数据结构·c++·算法·青少年编程
papership43 分钟前
【入门级-算法-3、基础算法:二分法】
数据结构·算法
hjlgs43 分钟前
Linux中双向链表介绍
数据结构·链表
通信小呆呆43 分钟前
收发分离多基地雷达椭圆联合定位:原理、算法与误差分析
算法·目标检测·信息与通信·信号处理
丁浩6665 小时前
Python机器学习---2.算法:逻辑回归
python·算法·机器学习
伏小白白白5 小时前
【论文精度-2】求解车辆路径问题的神经组合优化算法:综合展望(Yubin Xiao,2025)
人工智能·算法·机器学习
无敌最俊朗@6 小时前
数组-力扣hot56-合并区间
数据结构·算法·leetcode
囚生CY6 小时前
【速写】优化的深度与广度(Adam & Moun)
人工智能·python·算法
码农多耕地呗7 小时前
力扣94.二叉树的中序遍历(递归and迭代法)(java)
数据结构·算法·leetcode
微笑尅乐7 小时前
BFS 与 DFS——力扣102.二叉树的层序遍历
leetcode·深度优先·宽度优先