leetcode328奇偶链表
思路:先将寄链表连接起来;再将偶链表连接起来;最后将寄链表和偶链表一起连起来。
首先需要一个指针结构体去记录下偶链表的表头。最后才能将两个链表连接起来。
ListNode* odd=head; LisrNode* even=head->next; ListNode* evenhead=head->next;//必须这么做,每个链表表头必须用另外的一个结构体保存,不能和任何的其他链表混合 while(even->next){ odd->next=even->next; odd=odd->next; if(odd->next){ even->next=odd->next; even=eve->next; } }
//连接之前要将偶链表的最后尾部置为空指针 even->next=nullptr; odd->next=evenhead;
当使用一个空指针的next时,会报错。
改进时间版,少用if
while(even&&even->next){ odd->next=even->next; odd=odd->next; even->next=odd->next; even=even->next; } //相当于三个节点为一组执行这样的操作 //最后的even一定是空指针,不用最后将尾部置为空指针
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】