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;
   }
相关推荐
To_OC11 小时前
LC 128 最长连续序列:别上来就排序,O (n) 解法才是这题的灵魂
javascript·算法·leetcode
05Kevin1 天前
lk每日冒险题--数据结构6.27
算法
To_OC1 天前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
千纸鹤安安2 天前
千问Qwen-AgentWorld来了:一个语言模型搞定七大Agent场景,GPT-5.4都输了
算法
七牛开发者2 天前
MCP 到底是什么?为什么 Agent 都想接上它
算法·aigc·agent
kisshyshy2 天前
从递归到迭代,一文吃透二叉树的核心知识与 JavaScript 实现
javascript·算法·代码规范
To_OC2 天前
LC 49 字母异位词分组:想到哈希表很简单,选对 key 才是精髓
javascript·算法·leetcode