反转链表—leetcode206
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题?
思路1:迭代法,代码写起来感觉啥都刚刚好,又是有逻辑的,核心就是把扫描到的节点不断的前置,就是把cur->head = newhead
然后把 newhead更新为cur,newhead = cur
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode* reverseList(ListNode* head) {ListNode* newhead = NULL;ListNode* cur = head;while(cur!=NULL){ListNode* temp = cur->next;cur->next = newhead;newhead = cur;cur = temp;}return newhead;}
};
思路2 :递归法
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode* reverseList(ListNode* head) {return reverse(NULL,head);}ListNode* reverse(ListNode* pre,ListNode* cur){if(cur==NULL) return pre;ListNode* next = cur->next;cur->next = pre;return reverse(cur,next);}
};
反转链表—leetcode206相关推荐
- leetcode206.反转链表 解题思路(简单)
难度: 简单 题目:给你单链表的头结点head,请你反转链表,并返回反转后的链表. 示例1: 示例2: 示例3: 题目类型:数据结构链表 解题方法:双指针迭代法 解题思路: 1.申请两个新指针,分别指 ...
- [Swift]LeetCode206. 反转链表 | Reverse Linked List
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- LeetCode-206 反转链表
文章目录 题目描述 思路 解法一 解法二 总结 Github 题目描述 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4- ...
- leetcode206. 反转链表
再来亿遍反转链表 上码 class Solution {public:ListNode* reverseList(ListNode* head) {/**思路:我们反转指针即可1->2-> ...
- leetcode206 反转链表
反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代 ...
- 翻转链表python递归_Python LeetCode-206.反转链表(难度-简单) 两个方法-迭代和递归,以及超简写法(python)...
1.题目描述 反转一个单链表. 实例 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: ...
- PAT (Basic Level) Practise (中文)-1025. 反转链表 (25)
PAT (Basic Level) Practise (中文)-1025. 反转链表 (25) http://www.patest.cn/contests/pat-b-practise/1025 ...
- 剑指offer:面试题24. 反转链表
题目:反转链表 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4- ...
- leetcode-92 反转链表II
题目描述如下: 反转从位置 m 到 n 的链表.请使用一趟扫描完成反转. 说明: 1 ≤ m ≤ n ≤ 链表长度. 示例: 输入: 1->2->3->4->5->NUL ...
最新文章
- PyTorch 笔记(12)— Tensor 持久化、向量化、torch.set_num_threads、torch.set_printoptions
- 安卓模拟器BlueStacks 安装使用教程(图解)
- 【FI模块学习笔记】 固定资产概述(上)
- 日志服务(Log service)4月控制台更新指南
- Lambda表达式的标准格式【理解】
- IIS7 MVC网站生成、发布
- Java DataInputStream readShort()方法(带示例)
- 程序布置到服务器上速度慢_百战程序员python面试题总结---高级语法(4)
- day68_淘淘商城项目_01
- 牛客(基础位运算)起床困难症
- 架构师之路读书会 | 15分钟一本,让我为你精读100本好书,快来加入吧!
- 在 Linux 下用 CMAKE 编译安装 OpenCV 3.2.0
- 手机图片怎么做成笔记 手机照片笔记怎么制作
- Nginx动静分离配置
- 二阶倒立摆matlab建模与仿真,二级倒立摆的建模与MATLAB仿真.pdf
- C语言中for循环的一些坑!!!
- 【linux中Telnet服务的安装】
- win10用户账户控制怎么取消或打开
- Android 记事本
- 计算机音乐制作专业 考研,音乐专业考研院校排名