leetcode 206 Reverse Linked List
方法一:头插法
方法二:递归法
#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
#include<string>
#include<string.h>
#include<queue>
#include<algorithm>
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
ListNode* reverseList2(ListNode* head) {
ListNode *phead=head, *pnext=head->next;
phead->next = NULL;
while(pnext)
{
ListNode *tmp = pnext->next;
pnext->next = phead;
phead = pnext;
pnext = tmp;
}
return phead;
}
ListNode* reverseList(ListNode* head) {
if (head == NULL || head->next == NULL)
return head;
ListNode * new_head = reverseList(head->next);
head->next->next = head;
head->next = NULL;
return new_head;
}
int main()
{
ListNode n1(6), n2(2), n3(3), n4(4),n5(5);
n1.next = &n2;
n2.next = &n3;
n3.next = &n4;
n4.next = &n5;
ListNode *tmp = reverseList(&n1);
while (tmp)
{
cout << tmp->val << " ";
tmp = tmp->next;
}
cout << endl;
return 0;
}
转载于:https://www.cnblogs.com/wuxiangli/p/5626986.html
leetcode 206 Reverse Linked List相关推荐
- leetCode 206. Reverse Linked List 反转链表
206. Reverse Linked List Reverse a singly linked list. 反转一个链表. 思路: 采用头插法,将原来链表重新插一次返回即可. 代码如下: /*** ...
- LeetCode 206 Reverse Linked List--反转链表--迭代与递归解法--递归使用一个临时变量,迭代使用3个
此题链接:Reverse Linked List - LeetCode Reverse a singly linked list. Example: Input: 1->2->3-> ...
- Leetcode 206. Reverse Linked List
Similar Questions Reverse Linked List II Binary Tree Upside Down Palindrome Linked List 思路:链表反转. 解法一 ...
- Java for LeetCode 206 Reverse Linked List
Reverse a singly linked list. 解题思路: 用Stack实现,JAVA实现如下: public ListNode reverseList(ListNode head) {i ...
- LeetCode 206 Reverse Linked List 解题报告
题目要求 Reverse a singly linked list. Example: Input: 1->2->3->4->5->NULL Output: 5-> ...
- [swift] LeetCode 206. Reverse Linked List
Reverse a singly linked list. func reverseList(_ head: ListNode?) -> ListNode? {var stack = [Int] ...
- LeetCode Notes_#206 Reverse Linked List(C++,Python)
LeetCode Notes_#206 Reverse Linked List(C++,Python) LeetCode Linked List Contents 题目 思路 思考 解答 C++ P ...
- 【??链表】LeetCode 92. Reverse Linked List II
LeetCode 92. Reverse Linked List II Solution1: 参考网址:http://www.cnblogs.com/grandyang/p/4306611.html ...
- [LeetCode] [C++] 206 Reverse Linked List 反转单项链表
题目要求 Reverse a singly linked list. LeetCode 206在线测试 问题描述 给定一个单项链表,将其反转后返回链表头节点. 思路分析1 可以完整的遍历一遍链表,将链 ...
最新文章
- Confluence 6 查看空间活动
- Ubuntu 18.04 ROS Melodic安装与卸载
- Xcode中导入.a静态库后报错添加-force_load或-all_load
- VS2010强大的一塌糊涂
- linux内核中链表代码分析---list.h头文件分析(二)【转】
- 浅谈开发模式及架构发展
- 算法高级(48)-数据挖掘十大算法简介
- android aac硬解码,android AAC的音频硬解码
- Linux配置jdk环境变量(详细版)
- java基于springboot+vue的校园一卡通管理系统 ssm nodejs
- Python学习:round函数,截取小数位数
- 《神经网络与深度学习》-深度信念网络
- python对数正态分布函数_python生成具有上下限的截断对数正态分布
- [024] 欢迎大家关注我的微信公众帐号小q机器人(xiaoqrobot)
- 关于pr文件导入的问题
- Multi-Tenancy模式,基础服务大规模扩张的时候,是应该推进了。
- Ubuntu20.04 向日葵无法被远控的解决办法
- 如何用手机快速图片转文字呢?2个进阶教程,详细教程教你完成
- 基于java springboot租房平台设计,公寓租赁系统
- java中关键字缺省(default)