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;
   }
相关推荐
wangwangmoon_light12 小时前
1.2 LeetCode总结(线性表)_双指针
算法·leetcode·职场和发展
琢磨先生David13 小时前
Java算法每日一题
java·开发语言·算法
重生之后端学习13 小时前
114. 二叉树展开为链表
java·数据结构·算法·链表·职场和发展·深度优先
天一生水water13 小时前
基于FFT的频域故障诊断
人工智能·算法·智慧油田
石去皿13 小时前
数据结构与算法面试核心考点精要
java·算法·面试
今儿敲了吗13 小时前
18| 差分数组
c++·笔记·学习·算法
Bear on Toilet13 小时前
BFS_FloodFill_46 . 腐烂的橘子问题
数据结构·c++·算法·leetcode·宽度优先
大模型玩家七七13 小时前
关系记忆不是越完整越好:chunk size 的隐性代价
java·前端·数据库·人工智能·深度学习·算法·oracle
样例过了就是过了14 小时前
LeetCode热题100 找到字符串中所有字母异位词
算法·leetcode
DevilSeagull14 小时前
C语言: C语言内存函数详解
c语言·开发语言·算法