题目
给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。
1.此题对比原题有改动
2.题目保证链表中节点的值互不相同
3.该题只会输出返回的链表和结果做对比,所以若使用 C 或 C++ 语言,你不需要 free 或 delete 被删除的节点
数据范围:
0<=链表节点值<=10000
0<=链表长度<=10000
示例
输入:{2,5,1,9},5
返回值:{2,1,9}
说明:给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 2->1->9复制代码
思路
从头开始遍历链表,比较节点数据,如果相等就删除,最后返回头节点即可。
具体实现:
#include <stdio.h>
#include <iostream>
#include <string>
#include <malloc.h>
#define max 10000
using namespace std;
typedef struct lnode
{
int key;
struct lnode* next;
}link

提供一个函数,根据给定值删除单链表中的节点,返回删除后的链表头节点。题目保证节点值唯一,且会对比返回链表。遍历链表找到目标节点并删除,时间复杂度为O(n)。
最低0.47元/天 解锁文章
1904

被折叠的 条评论
为什么被折叠?



