剑指offer 反转链表
题目:输入一个链表,反转链表后,输出新链表的表头。
代码:
1 /* 2 struct ListNode { 3 int val; 4 struct ListNode *next; 5 ListNode(int x) : 6 val(x), next(NULL) { 7 } 8 };*/ 9 class Solution { 10 public: 11 12 ListNode* ReverseList(ListNode* phead) { 13 if ( phead == NULL ) 14 return NULL; 15 else{ 16 ListNode *pre = NULL, *cur = phead, *temp = NULL; 17 while( cur != NULL){ 18 temp = cur->next; 19 cur->next = pre; 20 pre = cur; 21 cur = temp; 22 } 23 return pre; 24 } 25 } 26 };
我的笔记:temp 用来记录 当前结点的后继,pre 用来记录当前节点的前驱。实现反转,结束后将整体向后移一位,使得 pre 指向当前结点,cur 指向之前记录的后继。链表详解可见https://www.cnblogs.com/john1015/p/12933625.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具