Python3实现的反转单链表算法示例


Posted in Python onMarch 08, 2019

本文实例讲述了Python3实现的反转单链表算法。分享给大家供大家参考,具体如下:

反转一个单链表。

方案一:迭代

# Definition for singly-linked list.
# class ListNode:
#   def __init__(self, x):
#     self.val = x
#     self.next = None
class Solution:
  def reverseList(self, head):
    """
    :type head: ListNode
    :rtype: ListNode
    """
    cur, pre = head, None
    while cur:
      cur.next, pre, cur = pre, cur, cur.next
    return pre

方案二:递归

# -*- coding:utf-8 -*-
# class ListNode:
#   def __init__(self, x):
#     self.val = x
#     self.next = None
class Solution:
  # 返回ListNode
  def ReverseList(self, pHead):
    # write code here
    if not pHead or not pHead.next:
      return pHead
    else:
      newHead = self.ReverseList(pHead.next)
      pHead.next.next=pHead
      pHead.next=None
      return newHead

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python通过正则查找微博@(at)用户的方法
Mar 13 Python
浅谈python import引入不同路径下的模块
Jul 11 Python
python matplotlib坐标轴设置的方法
Dec 05 Python
Django权限机制实现代码详解
Feb 05 Python
Python 中Django安装和使用教程详解
Jul 03 Python
Django数据库操作之save与update的使用
Apr 01 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
May 10 Python
Python基于smtplib协议实现发送邮件
Jun 03 Python
Python API 操作Hadoop hdfs详解
Jun 06 Python
Pycharm安装Qt Design快捷工具的详细教程
Nov 18 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
Feb 03 Python
Python中itertools库的四个函数介绍
Apr 06 Python
Python3实现的判断回文链表算法示例
Mar 08 #Python
python字符串循环左移
Mar 08 #Python
详解Python Matplot中文显示完美解决方案
Mar 07 #Python
详解Python安装tesserocr遇到的各种问题及解决办法
Mar 07 #Python
Python3实现的判断环形链表算法示例
Mar 07 #Python
浅析Python 读取图像文件的性能对比
Mar 07 #Python
python try 异常处理(史上最全)
Mar 07 #Python
You might like
php下使用无限生命期Session的方法
2007/03/16 PHP
php性能优化分析工具XDebug 大型网站调试工具
2011/05/22 PHP
thinkphp 多表 事务详解
2013/06/17 PHP
PHP中实现生成静态文件的方法缓解服务器压力
2014/01/07 PHP
PHP自定session保存路径及删除、注销与写入的方法
2014/11/18 PHP
PHP中子类重载父类的方法【parent::方法名】
2016/05/06 PHP
利用javascript解决图片缩放及其优化的代码
2012/05/23 Javascript
JavaScript实现的经典文件树菜单效果
2015/09/08 Javascript
基于jQuery仿淘宝产品图片放大镜代码分享
2020/06/23 Javascript
Angular 根据 service 的状态更新 directive
2016/04/03 Javascript
[原创]jQuery常用的4种加载方式分析
2016/07/25 Javascript
node.js操作MongoDB的实例详解
2017/10/11 Javascript
js实现div色块碰撞
2020/01/16 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
[02:51]DOTA2英雄基础教程 风暴之灵
2013/12/23 DOTA
[41:52]2018DOTA2亚洲邀请赛3月29日 小组赛A组 TNC VS OpTic
2018/03/30 DOTA
[59:44]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 paiN vs iG
2018/03/31 DOTA
python django 实现验证码的功能实例代码
2017/05/18 Python
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
Python实现分段线性插值
2018/12/17 Python
Python基本数据结构之字典类型dict用法分析
2019/06/08 Python
解决pycharm remote deployment 配置的问题
2019/06/27 Python
如何解决cmd运行python提示不是内部命令
2020/07/01 Python
jupyter notebook快速入门及使用详解
2020/11/13 Python
实列教程 一款基于jquery和css3的响应式二级导航菜单
2014/11/13 HTML / CSS
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
2014/04/10 HTML / CSS
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
如何写自我评价?自我评价写什么好?
2014/03/14 职场文书
网络管理员岗位职责
2014/03/17 职场文书
工程管理英文求职信
2014/03/18 职场文书
电大毕业个人生自我鉴定
2014/03/26 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
工作失职自我检讨书
2015/05/05 职场文书
Python爬虫之爬取某文库文档数据
2021/04/21 Python
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers