206.反转链表

206.反转链表

力扣题目链接(opens new window)

题意:反转一个单链表。

示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL

双双指针法:

创建三个节点 pre(反转时的第一个节点)、cur(当前指向需要反转的节点)、tem(cur反转操作前,需要暂存cur的下一个节点)

复制代码
   ListNode* reverseList(ListNode* head) {
       ListNode* pre=nullptr;
       ListNode* tem;
       ListNode* cur = head;
       while(cur!=nullptr){
           tem = cur->next;//暂存
           cur->next = pre;//反转
           pre = cur;//前一个节点移动至下一个
           cur = tem;//前一个节点移动至下一个
       }
       return cur;
   }
相关推荐
Oneshot4 小时前
DLX(Dancing Links)算法详解:求解数独最快的算法
算法
青少儿编程课堂4 小时前
蓝桥杯青少组图形化 + 全国青少年信息素养大赛 + 电子学会Scratch考级:校园连连看解析
c++·python·算法·bfs·信息学竞赛
kongdong4 小时前
Hikyuu | RSI均值回归交易策略实现
算法·均值算法·回归·量化交易·交易策略·hikyuu
小王C语言4 小时前
优选算法:分治-归并排序
算法
非优秀程序员15 小时前
第05章 播放器大战,暴风、快播与那一夜|《互联网产品恩仇录》
算法
武子康1 天前
驾驶轨迹换个坐标,就能给移动机器人用吗?
人工智能·算法·机器学习
lisw051 天前
Dayhoff的PAM替换矩阵理论评介!
线性代数·算法·矩阵
一起学安全技术1 天前
拆大模型 03|注意力的一句话版本:不用论文讲清 Attention
深度学习·算法·语言模型·transformer
Delightrs1 天前
Rust LeetCode238 算法题解
开发语言·算法·rust