【LeetCode】206. Reverse Linked List
2024-08-28 13:48:15
题目:
Reverse a singly linked list.
提示:
此题不难,可以用迭代或者递归两种方法求解。记得要把原来的链表头的next置为NULL;
代码:
迭代:
/**
* 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) {
if(!head) return NULL;
ListNode *pre = head, *cur = head->next;
pre->next = NULL;
ListNode *tmp;
while (cur) {
tmp = cur->next;
cur->next = pre;
pre = cur;
cur = tmp;
}
return pre;
}
};
递归:
/**
* 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 reverseNode(head, NULL);
} ListNode* reverseNode(ListNode* head, ListNode* newHead) {
if (!head) return newHead;
ListNode *next = head->next;
head->next = newHead;
return reverseNode(next, head);
}
};
最新文章
- Sql 常见问题
- mysql一些小技巧
- js判断手机访问PC端跳转到手机站
- Fortify
- Linux系统安装LAMP
- OpenNMS Log Correlator
- Android中九种dialog对话框代码
- 直接拿来用!最火的iOS开源项目(一)
- 微信小程序 - 上拉加载
- 《You dont know JS》类型篇总结
- PHP $_SERVER['HTTP_REFERER'] 获取前一页面的 URL 地址
- 高可用之KeepAlived(2):keepalived+lvs
- git branch --set-upstream 本地关联远程分支
- HTML5_图片合成_刮刮卡
- Linux内核之进程地址空间
- Flink--本地执行和集群执行
- Hibernate学习笔记1.1(简单插入数据)
- 2018-2019-1 20189218《Linux内核原理与分析》第六周作业
- Ubuntu 关闭防火墙
- SQL Server 2008下日志清理方法 2
热门文章
- PipedInputStream和PipedOutputStream详解
- Struts流程分析+源码分析
- .net数据统计系统设计(中小型)
- 用css3动画 @keyframes里设置transform:rotate(); 控制动画暂停和运动用属性:animation-play-state:paused暂停,在微信和safari里设置paused无效,在QQ里是正常的
- 使用NetronGraphLib类库开发Qfd质量屋编制工具
- Python的join()函数和split()函数
- 《JAVA与模式》之简单工厂模式
- makefile介绍1.0
- 纯css实现select下拉框并排显示
- 后台开发之IO缓冲区管理