数据结构每日一题day11(链表)★★★★★

题目描述:有一个带头结点的单链表L,请设计一个算法查找其第1个数据值为e的结点,若存在则返回指向该结点的指针,若不存在则返回 NULL。

算法思想:

输入检查:若链表为空(仅有头结点),直接返回NULL。

遍历链表:从头结点后的第一个结点开始依次向后遍历,比较每个结点的数据域是否等于e。

返回结果:若找到匹配的结点,立即返回指向该结点的指针;若遍历结束未找到,返回NULL。

复杂度分析:

时间复杂度:O(n)空间复杂度:O(1)

cpp 复制代码
#include <stdio.h>
#include <stdlib.h>

typedef struct LNode {
    int data;               // 数据域
    struct LNode *next;     // 指针域
} LNode, *LinkList;

// 查找第一个值为e的结点
LNode* LocateElem(LinkList L, int e) {
    if (L == NULL) {
        return NULL;        // 空链表直接返回
    }
    
    LNode *p = L->next;     // p指向第一个实际结点(跳过头结点)
    
    while (p != NULL) {
        if (p->data == e) {
            return p;       // 找到则返回指针
        }
        p = p->next;       // 继续遍历
    }
    
    return NULL;            // 未找到返回NULL
}
相关推荐
灵感__idea6 小时前
Hello 算法:众里寻她千“百度”
前端·javascript·算法
Wect16 小时前
LeetCode 130. 被围绕的区域:两种解法详解(BFS/DFS)
前端·算法·typescript
NAGNIP1 天前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
颜酱1 天前
单调栈:从模板到实战
javascript·后端·算法
CoovallyAIHub2 天前
仿生学突破:SILD模型如何让无人机在电力线迷宫中发现“隐形威胁”
深度学习·算法·计算机视觉
CoovallyAIHub2 天前
从春晚机器人到零样本革命:YOLO26-Pose姿态估计实战指南
深度学习·算法·计算机视觉
CoovallyAIHub2 天前
Le-DETR:省80%预训练数据,这个实时检测Transformer刷新SOTA|Georgia Tech & 北交大
深度学习·算法·计算机视觉
CoovallyAIHub2 天前
强化学习凭什么比监督学习更聪明?RL的“聪明”并非来自算法,而是因为它学会了“挑食”
深度学习·算法·计算机视觉
CoovallyAIHub2 天前
YOLO-IOD深度解析:打破实时增量目标检测的三重知识冲突
深度学习·算法·计算机视觉
NAGNIP2 天前
轻松搞懂全连接神经网络结构!
人工智能·算法·面试