​LeetCode刷题实战203:移除链表元素

算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
今天和大家聊的问题叫做 移除链表元素,我们先来看题面:
https://leetcode-cn.com/problems/remove-linked-list-elements/
Remove all elements from a linked list of integers that have value val.


题意

删除链表中等于给定值 val 的所有节点。

示例

输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5

解题

思路:设置哨兵节点x,以便能删除头节点。

class Solution {
public:
    ListNode* removeElements(ListNode* head, int val) {
        ListNode* x = new ListNode(-1);
        x->next = head;
        ListNode* i = x;
        while(i->next)
        {
            if(i->next->val == val)
            {
                i->next = i->next->next;
            }
            else
            {
                i = i->next;
            }
        }
        return x->next;
    }
};

好了,今天的文章就到这里,如果觉得有所收获,请顺手点个在看或者转发吧,你们的支持是我最大的动力 。
上期推文:

LeetCode1-200题汇总,希望对你有点帮助!

LeetCode刷题实战191:位1的个数
LeetCode刷题实战192:统计词频
LeetCode刷题实战193:有效电话号码
LeetCode刷题实战194:转置文件
LeetCode刷题实战195:第十行
LeetCode刷题实战196:删除重复的电子邮箱
LeetCode刷题实战197:上升的温度
LeetCode刷题实战198:打家劫舍
LeetCode刷题实战199:二叉树的右视图
LeetCode刷题实战200:岛屿数量

LeetCode刷题实战201:数字范围按位与

(0)

相关推荐