基于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 相关文章推荐
使用Python的Django框架实现事务交易管理的教程
Apr 20 Python
python调用百度语音识别实现大音频文件语音识别功能
Aug 30 Python
python学生信息管理系统(初级版)
Oct 17 Python
Python饼状图的绘制实例
Jan 15 Python
python实现动态创建类的方法分析
Jun 25 Python
python顺序执行多个py文件的方法
Jun 29 Python
django框架使用方法详解
Jul 18 Python
Django 响应数据response的返回源码详解
Aug 06 Python
Python上下文管理器全实例详解
Nov 12 Python
TensorFlow中如何确定张量的形状实例
Jun 23 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
Nov 30 Python
只需要这一行代码就能让python计算速度提高十倍
May 24 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实现ping
2006/10/09 PHP
php面向对象全攻略 (四)构造方法与析构方法
2009/09/30 PHP
优化PHP程序的方法小结
2012/02/23 PHP
php自动识别文件编码并转换为UTF-8的方法
2014/06/12 PHP
PHP模板引擎Smarty自定义变量调解器用法
2016/04/11 PHP
PHP的PDO预处理语句与存储过程
2019/01/27 PHP
文本加密解密
2006/06/23 Javascript
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
javascript instanceof,typeof的区别
2010/03/24 Javascript
玩转jQuery按钮 请告诉我你最喜欢哪些?
2012/01/08 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
2016/04/29 Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
2016/10/10 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
2017/01/08 Javascript
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
vue-cli axios请求方式及跨域处理问题
2018/03/28 Javascript
11个教程中不常被提及的JavaScript小技巧(推荐)
2019/04/17 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
使用watch在微信小程序中实现全局状态共享
2019/06/03 Javascript
JavaScript多种滤镜算法实现代码实例
2019/12/10 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
python删除特定文件的方法
2015/07/30 Python
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
python 定义给定初值或长度的list方法
2018/06/23 Python
Python中的asyncio代码详解
2019/06/10 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
2019/06/27 Python
基于python实现语音录入识别代码实例
2020/01/17 Python
彪马加拿大官网:PUMA加拿大
2018/10/04 全球购物
BISSELL官网:北美吸尘器第一品牌
2019/03/14 全球购物
《老王》教学反思
2014/02/23 职场文书
中国梦主题教育活动总结
2014/05/05 职场文书
Python字典的基础操作
2021/11/01 Python