力扣 设计链表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

相关推荐
你真是饿了1 小时前
算法专题二:滑动窗口
算法
ccLianLian1 小时前
数论·约数
数据结构·算法
会编程的土豆1 小时前
【数据结构与算法】最短路径---Dijkstra 算法
数据结构·c++·算法
2401_879693871 小时前
C++中的观察者模式实战
开发语言·c++·算法
炽烈小老头1 小时前
【 每天学习一点算法 2026/03/24】寻找峰值
学习·算法
fff9811182 小时前
C++与Qt图形开发
开发语言·c++·算法
计算机安禾2 小时前
【数据结构与算法】第3篇:C语言核心机制回顾(二):动态内存管理与typedef
c语言·开发语言·数据结构·c++·算法·链表·visual studio
njidf3 小时前
C++中的访问者模式
开发语言·c++·算法
C_Si沉思3 小时前
C++中的工厂模式变体
开发语言·c++·算法
C羊驼3 小时前
C语言学习笔记(十五):预处理
c语言·经验分享·笔记·学习·算法