/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* recursive(ListNode* head) {
ListNode* pre_node;
if(head->next!=NULL)
{
pre_node=recursive(head->next);
ListNode* cur_pre_node=pre_node;//找到新的节点后,对末尾加入当前节点
while(cur_pre_node->next!=NULL)
cur_pre_node=cur_pre_node->next;
cur_pre_node->next=head;
head->next=NULL;//别忘了末尾补NULL
}
else
pre_node=head;//如果是尾节点,就定义为新的头结点 return pre_node; } ListNode* iteration(ListNode* head)
{
ListNode* node=new ListNode(head->val);
head=head->next; while(head!=NULL)
{
ListNode* cur_node=new ListNode(head->val);//每次开辟新空间
cur_node->next=node;//指向node
node=cur_node;//node后移
head=head->next;
}
return node;
} ListNode* reverseList(ListNode* head) {
if(head==NULL)
return NULL;
//return recursive(head);//方法一 递归
return iteration(head);//方法一 迭代
}
};

分析:

嗯,如程序所示。

leecode第二百零六题(反转链表)的更多相关文章

  1. leecode第二百三十七题(删除链表中的节点)

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...

  2. leecode第二百九十二题(Nim游戏)

    class Solution { public: bool canWinNim(int n) { )==)//用与的时候,要注意优先级问题 //用n%4==0的时候,其耗时比用&短,但是空间消 ...

  3. leecode第二百三十一题(2的幂)

    class Solution { public: bool isPowerOfTwo(int n) { bool is_flag=false; ) { ==)//如果为1,看是不是第一个1 { if( ...

  4. leecode第二百三十题(二叉搜索树中第K小的元素)

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...

  5. leecode第一百零四题(二叉树的最大深度)

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...

  6. 【leetcode 简单】 第一百零六题 压缩字符串

    给定一组字符,使用原地算法将其压缩. 压缩后的长度必须始终小于或等于原数组长度. 数组的每个元素应该是长度为1 的字符(不是 int 整数类型). 在完成原地修改输入数组后,返回数组的新长度. 进阶: ...

  7. 第二百零六节,jQuery EasyUI,Menu(菜单)组件

    jQuery EasyUI,Menu(菜单)组件 学习要点: 1.加载方式 2.菜单项属性 3.菜单属性 4.菜单事件 5.菜单方法 本节课重点了解 EasyUI 中 Menu(菜单)组件的使用方法, ...

  8. 第四百零六节,自定义用户表类来继承Django的用户表类,

    第四百零六节,自定义用户表类来继承Django的用户表类, models.py from django.db import models # Create your models here. from ...

  9. 第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型

    第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型 Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value)name ...

随机推荐

  1. Java 读取某文件下的所有文件的大小 并将所有文件的文件名,以及对应大小输出在xls表格里

    import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.In ...

  2. C# 让String.Contains忽略大小写

    在C#里,String.Contains是大小写敏感的,所以如果要在C#里用String.Contains来判断一个string里是否包含一个某个关键字keyword,需要把这个string和这个ke ...

  3. Error: Cannot find module 'babel-helpers'

    cnpm install babel-core babel-loader babel-plugin-transform-runtime -D cnpm install babel-preset-env ...

  4. 12.0-uC/OS-III任务调度

    调度器,决定了任务的运行顺序. uC/OS-III是一个可抢占的, 基于优先级的内核.根据其重要性每个任务都被分配了一个优先级.uC/OS-III支持多个任务拥有相同的优先级. 1.抢占式调度 uC/ ...

  5. MySQL Backup mysqldump 常用选项与主要用法

    The mysqldump client utility performs logical backups, producing a set of SQL statements that can be ...

  6. swagger:API在线文档自动生成框架

    传统的API从开发测试开始我们经常借用类似Postman.fiddle等等去做接口测试等等工具:Swagger 为API的在线测试.在线文档提供了一个新的简便的解决方案: NET 使用Swagger ...

  7. PHP on CentOS (LAMP) and wordpress

    http://php.net/manual/zh/install.windows.php https://www.unixmen.com/install-wordpress-centos-7-linu ...

  8. vue 之iview

    iView-admin2.0:https://admin.iviewui.com/ 组件:https://www.iviewui.com/docs/guide/install

  9. centos----------防火墙firewalld和iptables

    1.CentOS7默认的防火墙不是iptables,而是firewalle. 关闭防火墙 systemctl stop firewalld 启用防火墙 systemctl start firewall ...

  10. 邮件发送 utils

    package cn.itcast.bos.utils;   import java.util.Properties;   import javax.mail.Message; import java ...