方法一:头插法

方法二:递归法

#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相关推荐

  1. leetCode 206. Reverse Linked List 反转链表

    206. Reverse Linked List Reverse a singly linked list. 反转一个链表. 思路: 采用头插法,将原来链表重新插一次返回即可. 代码如下: /*** ...

  2. LeetCode 206 Reverse Linked List--反转链表--迭代与递归解法--递归使用一个临时变量,迭代使用3个

    此题链接:Reverse Linked List - LeetCode Reverse a singly linked list. Example: Input: 1->2->3-> ...

  3. Leetcode 206. Reverse Linked List

    Similar Questions Reverse Linked List II Binary Tree Upside Down Palindrome Linked List 思路:链表反转. 解法一 ...

  4. Java for LeetCode 206 Reverse Linked List

    Reverse a singly linked list. 解题思路: 用Stack实现,JAVA实现如下: public ListNode reverseList(ListNode head) {i ...

  5. LeetCode 206 Reverse Linked List 解题报告

    题目要求 Reverse a singly linked list. Example: Input: 1->2->3->4->5->NULL Output: 5-> ...

  6. [swift] LeetCode 206. Reverse Linked List

    Reverse a singly linked list. func reverseList(_ head: ListNode?) -> ListNode? {var stack = [Int] ...

  7. LeetCode Notes_#206 Reverse Linked List(C++,Python)

    LeetCode Notes_#206 Reverse Linked List(C++,Python) LeetCode Linked List  Contents 题目 思路 思考 解答 C++ P ...

  8. 【??链表】LeetCode 92. Reverse Linked List II

    LeetCode 92. Reverse Linked List II Solution1: 参考网址:http://www.cnblogs.com/grandyang/p/4306611.html ...

  9. [LeetCode] [C++] 206 Reverse Linked List 反转单项链表

    题目要求 Reverse a singly linked list. LeetCode 206在线测试 问题描述 给定一个单项链表,将其反转后返回链表头节点. 思路分析1 可以完整的遍历一遍链表,将链 ...

最新文章

  1. Confluence 6 查看空间活动
  2. Ubuntu 18.04 ROS Melodic安装与卸载
  3. Xcode中导入.a静态库后报错添加-force_load或-all_load
  4. VS2010强大的一塌糊涂
  5. linux内核中链表代码分析---list.h头文件分析(二)【转】
  6. 浅谈开发模式及架构发展
  7. 算法高级(48)-数据挖掘十大算法简介
  8. android aac硬解码,android AAC的音频硬解码
  9. Linux配置jdk环境变量(详细版)
  10. java基于springboot+vue的校园一卡通管理系统 ssm nodejs
  11. Python学习:round函数,截取小数位数
  12. 《神经网络与深度学习》-深度信念网络
  13. python对数正态分布函数_python生成具有上下限的截断对数正态分布
  14. [024] 欢迎大家关注我的微信公众帐号小q机器人(xiaoqrobot)
  15. 关于pr文件导入的问题
  16. Multi-Tenancy模式,基础服务大规模扩张的时候,是应该推进了。
  17. Ubuntu20.04 向日葵无法被远控的解决办法
  18. 如何用手机快速图片转文字呢?2个进阶教程,详细教程教你完成
  19. 基于java springboot租房平台设计,公寓租赁系统
  20. java中关键字缺省(default)

热门文章

  1. 特殊命令eval的用法两例
  2. sql server 2008 故障转移群集
  3. Android 对话框(Dialog)大全
  4. 使用饼图_常见图表规范:直方图、圆环图和饼图
  5. pip19离线_更新pip为20后不显示下载链接无法离线下载回退pip版本
  6. 3.5.1 信道划分介质访问控制
  7. 几种常见窗函数及其MATLAB程序实现
  8. 华为机试第11题python
  9. centos6.8下安装pythondjango
  10. jsoup 多个 class Selector 怎么写?