首页 > 其他分享 >剑指 Offer 18. 删除链表的节点

剑指 Offer 18. 删除链表的节点

时间:2023-07-20 22:33:27浏览次数:34  
标签:fhead head ListNode cur val Offer 18 next 链表

题目:(有改动和陷阱,不可以使用delete否则报错!!)

class Solution {
public:
    ListNode* deleteNode(ListNode* head, int val) {
        ListNode* fhead=new ListNode(0);           #设置虚拟头节点
        fhead->next=head;
        ListNode* cur=fhead;
        while(cur->next){
            if(cur->next->val==val){
                ListNode* temp=cur->next;
                cur->next=cur->next->next;
            }
            else cur=cur->next;                    #必须有else
        }
        head=fhead->next;
        return head;
    }
};

标签:fhead,head,ListNode,cur,val,Offer,18,next,链表
From: https://www.cnblogs.com/fly-smart/p/17569875.html

相关文章

  • 剑指 Offer 24. 反转链表
    题目:/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode(intx):val(x),next(NULL){}*};*/classSolution{public:ListNode*reverseList(ListNode*head){ListNode*temp......
  • leetcode-1518-easy
    WaterBottlesTherearenumBottleswaterbottlesthatareinitiallyfullofwater.YoucanexchangenumExchangeemptywaterbottlesfromthemarketwithonefullwaterbottle.Theoperationofdrinkingafullwaterbottleturnsitintoanemptybottle.......
  • 剑指 Offer 06. 从尾到头打印链表
    题目:/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode(intx):val(x),next(NULL){}*};*/classSolution{public:vector<int>reversePrint(ListNode*head){vecto......
  • 剑指offer_20230719
    剑指Offer24.反转链表题目说明定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。解题思路1:栈解题思路2:递归如果从后往前看的话,其实可以这样理解。如果当前处于nk,那么就另nk.next.next=nk,并且将nk.next指向空即可。处理完之后,以nk为头节点的链表其......
  • 剑指offer_20230720
    剑指Offer59-I.滑动窗口的最大值题目说明给定一个数组nums和滑动窗口的大小k,请找出所有滑动窗口里的最大值。示例:输入:nums=[1,3,-1,-3,5,3,6,7],和k=3输出:[3,3,5,5,6,7]解释:滑动窗口的位置最大值[13-1]-35367 ......
  • Ubuntu18.04 anaconda安装python
    Ubuntu18.04下Anaconda的安装与Python环境配置介绍Anaconda是一个开源的Python和R语言的发行版本,用于数据科学、机器学习和人工智能等领域的开发和部署。本文将介绍如何在Ubuntu18.04上安装Anaconda,并配置Python环境。步骤1:下载Anaconda首先,我们需要从Anaconda的......
  • 题解 POJ3318【Matrix Multiplication】
    postedon2022-10-2119:56:08|under题解|sourceproblem判断三个\(n\timesn\)的矩阵是否满足\(A\timesB=C\),\(n\leq500\)。solution随机一个行向量\(v\)。若\(a\timesb=c\),则有\(v\timesa\timesb=v\timesc\)(不充分)。显然相乘复杂度仅为\(O(n^2)\)。类似于......
  • CF718E Matvey's Birthday
    不难发现答案\(\le15\),极限的情况大概就是\(aabbcc\cdotsgghh\),此时跳一步和走一步等效。这启示我们固定点\(i\),统计\(d(i,j)=D,j<i\)的\(j\)的个数,拆成\(i-j\le15\)的贡献和\(i-j>15\)的贡献。为了方便,以下称从\(i\)到\(i+1\)或\(i-1\)为「走」,在相同颜色......
  • PKUSC2018 最大前缀和
    这个期望显然是诈骗,即统计每种排列最大前缀和之和。对于某个排列\(a\),令\(s(l,r)=\sum\limits_{k=l}^ra_k\)。考虑前缀\([1,i]\)成为答案的充要条件:\(\forall1<j\lei,s(j,i)\ge0\),否则可以去掉这段。\(\forallj>i,s(i+1,j)<0\),否则加上这段不劣(钦定取的是最大并且最靠......
  • CF1821F Timber
    考虑如何判断一个方案是合法的,很容易想到贪心,从左到右考虑第\(i\)棵树:如果这棵树能向左倒即\([x_i-k,x_i]\)没有被占据,就向左倒。否则向右倒。显然向左倒对之前已经倒下的树没有影响,而对后面的树来讲,这棵树向左倒能留下尽量多的空间,所以优先向左倒一定不劣。所以考虑一......