基于Python实现2种反转链表方法代码实例


Posted in Python onJuly 06, 2020

题目:

反转一个单链表。

示例:

输入: 1->2->3->4->5->NULL

输出: 5->4->3->2->1->NULL

进阶:

你可以迭代或递归地反转链表。你能否用两种方法解决这道题?

思路:

主要需要注意反转过程中不要丢了节点。可以使用两个指针,也可以使用三个指针。

基于Python实现2种反转链表方法代码实例

基于Python实现2种反转链表方法代码实例

Python解法一:

class Solution:
  def reverseList(self, head):
    cur, prev = head, None
    while cur:
      temp = cur.next
      cur.next = prev
      prev = cur
      cur = temp
    return prev

Python解法二:

class Solution:
  def reverseList(self, head):
    if head == None or head.next == None:
      return head
    prev = None
    cur = head
    post = head.next

    while post:
      cur.next = prev
      prev = cur
      cur = post
      post = post.next
    cur.next = prev
    return cur

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
shelve  用来持久化任意的Python对象实例代码
Oct 12 Python
Python用threading实现多线程详解
Feb 03 Python
关于numpy中np.nonzero()函数用法的详解
Feb 07 Python
浅析python递归函数和河内塔问题
Apr 18 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
Jan 24 Python
Python实现定时自动关闭的tkinter窗口方法
Feb 16 Python
Python的高阶函数用法实例分析
Apr 11 Python
解决tensorflow训练时内存持续增加并占满的问题
Jan 19 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
Feb 28 Python
Python3 中sorted() 函数的用法
Mar 24 Python
keras 简单 lstm实例(基于one-hot编码)
Jul 02 Python
Python用requests库爬取返回为空的解决办法
Feb 21 Python
简单了解Django项目应用创建过程
Jul 06 #Python
如何在mac下配置python虚拟环境
Jul 06 #Python
Python优秀开源项目Rich源码解析的流程分析
Jul 06 #Python
使用TensorBoard进行超参数优化的实现
Jul 06 #Python
Django中F函数的使用示例代码详解
Jul 06 #Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
Jul 06 #Python
Django-imagekit的使用详解
Jul 06 #Python
You might like
一个php作的文本留言本的例子(三)
2006/10/09 PHP
解析php中的escape函数
2013/06/29 PHP
zf框架的session会话周期及次数限制使用示例
2014/03/13 PHP
Yii使用技巧大汇总
2015/12/29 PHP
Yii2实现上下联动下拉框功能的方法
2016/08/10 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
jQuery 动态酷效果实现总结
2009/12/27 Javascript
浅谈Javascript嵌套函数及闭包
2010/11/09 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
2014/04/21 Javascript
JS设置网页图片vspace和hspace属性的方法
2015/04/01 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
vue.js的提示组件
2017/03/02 Javascript
Angular.js中数组操作的方法教程
2017/07/31 Javascript
分享ES6的7个实用技巧
2018/01/18 Javascript
iview tabs 顶部导航栏和模块切换栏的示例代码
2019/03/04 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
2019/09/28 Javascript
js实现视图和数据双向绑定的方法分析
2020/02/05 Javascript
vue tab切换,解决echartst图表宽度只有100px的问题
2020/07/19 Javascript
小程序实现左滑删除的效果的实例代码
2020/10/19 Javascript
javascript实现前端分页功能
2020/11/26 Javascript
[02:12]打造更好的电竞完美世界:完美盛典回顾篇
2018/12/19 DOTA
[01:18:45]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第三场2月1日
2021/03/11 DOTA
Python一个简单的通信程序(客户端 服务器)
2019/03/06 Python
Python魔法方法功能与用法简介
2019/04/04 Python
Python调用C语言的实现
2019/07/26 Python
python openCV获取人脸部分并存储功能
2019/08/28 Python
python网络编程之多线程同时接受和发送
2019/09/03 Python
Python + Flask 实现简单的验证码系统
2019/10/01 Python
python 伯努利分布详解
2020/02/25 Python
使用CSS变量实现炫酷惊人的悬浮效果
2019/04/26 HTML / CSS
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
初三物理教学反思
2014/01/21 职场文书
公司年会搞笑主持词
2014/03/24 职场文书
解决redis批量删除key值的问题
2022/03/23 Redis
nginx配置之并发频次限制
2022/04/18 Servers