力扣 设计链表707

循环边界的判断

复制代码
index = 3;
cur = dummyHead;
while(index--)
{
cur = cur->next;
}

当到达边界时,cur从零开始,index = 0,cur=2

如果要在index = 3前面添加元素,则newnode->next = cur->next cur->next = newnode,顺序不可变

如果是在末尾添加元素

复制代码
cur = dummyHead;
while(cur->next != nullptr)
{
cur = cur->next;
}

循环结束,cur指向链表的末尾,

如果在链表末尾添加元素,cur->next = newnode

注意size大小的变化

注意private定义时,定义ListNode *dummyHead

注意索引index ,获取index下标值时,非法判断 index >size-1

注意删除时,操作完毕后再delete tmp

相关推荐
web安全工具库5 分钟前
从课堂笔记到实践:深入理解Linux C函数库的奥秘
java·数据库·算法
周杰伦_Jay40 分钟前
【Java集合体系】全面解析:架构、原理与实战选型
java·开发语言·数据结构·链表·架构
爱编程的鱼1 小时前
C# 变量详解:从基础概念到高级应用
java·算法·c#
tkevinjd2 小时前
反转链表及其应用(力扣2130)
数据结构·leetcode·链表
HalvmånEver2 小时前
红黑树实现与原理剖析(上篇):核心规则与插入平衡逻辑
数据结构·c++·学习·算法·红黑树
哆啦刘小洋2 小时前
T:堆的基本介绍
算法
AresXue3 小时前
你是否也在寻找二进制和字符串的高效转换算法?
算法
Swift社区3 小时前
从 0 到 1 构建一个完整的 AGUI 前端项目的流程在 ESP32 上运行
前端·算法·职场和发展
RTC老炮3 小时前
webrtc弱网-BitrateEstimator类源码分析与算法原理
网络·人工智能·算法·机器学习·webrtc
程序员烧烤3 小时前
【leetcode刷题007】leetcode116、117
算法·leetcode