单链表相关面试题--1.删除链表中等于给定值 val 的所有节点

/*
解题思路:从头节点开始进行元素删除,每删除一个元素,需要重新链接节点
*/
struct ListNode* removeElements(struct ListNode* head, int val) {if(head == NULL)return NULL;struct ListNode* cur = head;struct ListNode* prev = NULL;while(cur){//如果当前节点是需要删除的节点if(cur->val == val){//首先保存下一个节点struct ListNode* next = cur->next;//如果删除的为头节点,更新头节点//否则让当前节点的前趋节点链接next节点if(prev == NULL){head = cur->next;}else{prev->next = cur->next;  }//释放当前节点,让cur指向nextfree(cur);cur = next;}else{//如果cur不是需要删除的节点,则更新prev,curprev = cur;cur = cur->next;}}return head;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/197682.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1.并发编程基础

目录 概述线程和进程并发和并行线程上下文切换线程的一生wait与sleep的区别 结束 概述 线程和进程 进程:是指内存运行的一个应用程序,是系统运行程序的基本单位,是程序的一次执行过程线程:是进程中的一个执行单元,负…

大力说企微入门系列第二课:搭建体系

对于大部分人来说,学习有三动: 学习之前非常激动; 学习时候非常感动;学习之后是一动不动; 不知道大家看了上一课的《大力说企微入门系列第一课:企业微信的注册验证和认证》之后,是一动不动还是…

在电脑PC端可以分类记笔记的软件选择哪个?

选择用电脑来记录笔记是比较便捷的,电脑屏幕比较大,操作起来比较便捷。但是很多人用电脑来记录笔记,通常会使用电脑上自带的记事本、文档记事工具来整合笔记,打开文档记事本类的软件,密密麻麻的文字呈现出来。 选择用…

剪辑视频怎么把说话声音转成文字?

短视频已然成为了一种生活潮流,我们每天都在浏览各种短视频,或者用视频的形式记录生活,在制作视频的时候,字幕是一个很大的问题,给视频添加字幕可以更直观、更方便浏览。手动添加太费时间,下面就给大家分享…

想做副业在哪里找?做好这些副业平台就够了

每个人在生活中都有一些额外的需求和理想,所以越来越多的人开始寻找副业来实现小目标。但是,但是寻找副业的过程并不容易,需要考虑到自己的时间和能力,还有选择一个靠谱的平台。其实,副业平台并不太难,只要…

【LeetCode刷题】--9.回文数

9.回文数 class Solution {public boolean isPalindrome(int x) {if(x < 0){return false;}int tmp x, sum 0;boolean flag false;while(x ! 0){sum sum * 10 x % 10;x / 10;}if(sum tmp){flag true;}return flag;} }

服务器IPMI管理操作

简介&#xff1a;智能平台管理界面&#xff08;IPMI&#xff0c;Intelligent Platform Management Interface)是管理基于 Intel 结构的企业系统中所使用的外围设备采用的一种工业标准&#xff0c;用户可以利用IPMI监视服务器的物理健康特征&#xff0c;如温度、电压、风扇工作状…

requests 技术问题解决流程:从问题重现到测试验证

在 #homedesign 项目中&#xff0c;用户 jimmysisonlucas 报告了一个bug。根据他的描述&#xff0c;他希望解决这个bug。然而&#xff0c;由于他没有提供详细的bug描述&#xff0c;我们无法确定具体的bug是什么。 问题的解决流程&#xff1a;从bug重现到测试验证 尽管我们没有…

Linux内核调试篇——获取内核函数地址的四种方法(一文解决)

在内核调试中&#xff0c;经常需要知道某个函数的地址&#xff0c;或者根据函数地址找到对应的函数&#xff0c;从而进行更深一步的debug。 下面介绍四种获取内核函数地址的方法&#xff1a; 1、System.map 在编译Linux内核时&#xff0c;会产生一个内核映像文件System.map&…

低代码平台全解析:衍生历程、优势呈现与未来趋势一览无余

在数字化时代&#xff0c;应用程序的开发与更新已成为企业保持竞争力的关键。传统的编码方式&#xff0c;虽然精细且功能强大&#xff0c;但耗时且要求开发者具备较高的技术水平。在这样的背景下&#xff0c;低代码开发平台的出现无疑为企业带来了福音。 低代码开发平台是一种创…

开关电源测试方法分享:开关电源关机维持时间的测试步骤、测试标准

开关电源关机维持时间是指切断电源后输出电压下降到稳压范围外为止的时间。关机维持时间是开关电源测试项目之一&#xff0c;测试时需要用到交流电源、电子负载、示波器等测试设备。那么开关电源测试系统要如何测试关机维持时间呢? 开关电源关机维持时间的测试步骤 关机维持时…

Leetcode—53.最大子数组和【中等】

2023每日刷题&#xff08;三十四&#xff09; Leetcode—53.最大子数组和 前缀和算法思想 参考灵茶山艾府 实现代码 #define MAX(a, b) ((a > b) ? (a) : (b)) #define MIN(a, b) ((a < b) ? (a) : (b)) int maxSubArray(int* nums, int numsSize) {int ans INT_…