算法竞赛备赛——【数据结构】链表

链表

原地逆置

206. 反转链表 - 力扣(LeetCode)

C++ 复制代码
class Solution {
public:
    ListNode* reverseList(ListNode* head) {//链表无头节点 原地逆置 
        ListNode* pre=head;
        ListNode* cur=NULL;
        ListNode* t=NULL;//t=head->next 若head指向空链表会报错 非法访问其他空间
        while(pre!=NULL){
            t=pre->next;
            pre->next=cur;
            cur=pre;
            pre=t;
        }
        head=cur;
        return head;
    }
};

快慢指针

LCR 140. 训练计划 II - 力扣(LeetCode)

让两个指针相差k个 只用遍历一轮

C++ 复制代码
class Solution {
public:
    ListNode* trainingPlan(ListNode* head, int cnt) {
        ListNode* f=head;//fast
        ListNode* s=head;//slow
        int count=0;
        while(f!=NULL&&count<cnt){
            count++;
            f=f->next;
        }
        while(f!=NULL){
            f=f->next;
            s=s->next;
        }
        return s;
    }
};

静态链表

用数组描述的链表

跳表

跳跃表、跳跃列表,在有序链表的基础上增加了"跳跃"的功能,有序链表实现而二分查找。

1206. 设计跳表 - 力扣(LeetCode)

有点复杂 暂时不需要做

相关推荐
y = xⁿ1 分钟前
【LeetCodehot100】T108:将有序数组转换为二叉搜索树 T98:验证搜索二叉树
数据结构·算法·leetcode
程序员小崔日记14 分钟前
一道KMP统考真题彻底讲透:nextval与滑动距离的本质
算法·408·王道计算机考研
xiaoye-duck15 分钟前
《算法题讲解指南:动态规划算法--路径问题》--9.最小路径和,10.地下城游戏
c++·算法·动态规划
渡过晚枫24 分钟前
[第十四届蓝桥杯/java/算法]国赛A——跑步计划
算法
hanlin0327 分钟前
刷题笔记:力扣第17题-电话号码的字母组合
笔记·算法·leetcode
刺客xs30 分钟前
c++模板
java·开发语言·c++
不是株38 分钟前
算 法
数据结构·python·算法
云泽80839 分钟前
蓝桥杯算法精讲:从宏观角度重新认识递归
算法·职场和发展·蓝桥杯
自信1504130575940 分钟前
插入排序算法
c语言·数据结构·算法·排序算法
阿Y加油吧1 小时前
力扣打卡day09——缺失的第一个正数、矩阵置零
数据结构·算法·leetcode