题目描述

输入一个链表,反转链表后,输出新链表的表头.
# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
# 返回ListNode
def ReverseList(self, pHead): #反转链表,我们的思路是将前一个节点与后一个节点断开,然后让前一个节点指向后一个节点,
#这个过程就需要节点引用(可以理解为指针)来确定记录当前操作节点的前一个节点和后一个节点
        #ListNode pre=null;定义pre节点引用指向当前操作节点的前一个节点,最开始头结点的前一个节点肯定是null。
        #ListNode next=null; 定义next节点引用指向当前操作节点的后一个节点,我们开始也让他指向null.
#temp=head.next;//让temp引用指向head下一个节点,
        #head.next=newHead;//newHead始终指向当前head的前一个节点,这样可以反转节点了。
        #newHead=head;这个时候,newHead就由当前操作节点的上一个节点变成了当前操作节点了,
#可以进行下一个当前操作节点的反转操作了
         #head=temp; 这个就是下一个操作节点。
# write code here
if not pHead or not pHead.next:
return pHead
newHead = None
while pHead:
temp = pHead.next
pHead.next = newHead
newHead = pHead
pHead = temp
return newHead

  

反转链表(python)的更多相关文章

  1. 由反转链表想到python链式交换变量

    这两天在刷题,看到链表的反转,在翻解体思路时看到有位同学写出循环中一句搞定三个变量的交换时觉得挺6的,一般用的时候都是两个变量交换(a,b=b,a),这种三个变量的交换还真不敢随便用,而且这三个变量都 ...

  2. 【python】Leetcode每日一题-反转链表 II

    [python]Leetcode每日一题-反转链表 II [题目描述] 给你单链表的头节点 head 和两个整数 left 和 right ,其中 left <= right .请你反转从位置 ...

  3. 【剑指Offer】反转链表 解题报告(Python)

    [剑指Offer]反转链表 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目描 ...

  4. python中使用递归实现反转链表

    反转链表一般有两种实现方式,一种是循环,另外一种是递归,前几天做了一个作业,用到这东西了. 这里就做个记录,方便以后温习. 递归的方法: class Node: def __init__(self,i ...

  5. 剑指offer:反转链表

    问题描述 输入一个链表,反转链表后,输出新链表的表头. c++代码 /* struct ListNode { int val; struct ListNode *next; ListNode(int ...

  6. 《剑指offer》 反转链表

    本题来自<剑指offer> 反转链表 题目: 输入一个链表,反转链表后,输出新链表的表头. 思路: 需要三个变量,来保存当前节点的,前面节点和反转后的节点. C++ Code: /* st ...

  7. 剑指Offer 15. 反转链表 (链表)

    题目描述 输入一个链表,反转链表后,输出新链表的表头. 题目地址 https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca? ...

  8. 【LeetCode题解】206_反转链表(Reverse-Linked-List)

    目录 描述 解法一:迭代 思路 Java 实现 Python 实现 复杂度分析 解法二:递归 思路 Java 实现 Python 实现 复杂度分析 更多 LeetCode 题解笔记可以访问我的 git ...

  9. Leecode刷题之旅-C语言/python-206反转链表

    /* * @lc app=leetcode.cn id=206 lang=c * * [206] 反转链表 * * https://leetcode-cn.com/problems/reverse-l ...

随机推荐

  1. Mybatis七(MBG 逆向工程)

    官方地址:http://www.mybatis.org/generator/ https://github.com/mybatis/generator/releases <1>编写mbg. ...

  2. 使用Flex4画图形:圆、矩形、线

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  3. XML 试题

    六. XML 部 分 1 .xml 有 哪 些 解 析 技 术? 区 别 是 什 么? 答:有 DOM,SAX,STAX 等 DOM:处理大型文件时其性能下降的非常厉害.这个问题是由 DOM 的树结构 ...

  4. Docker 在 Linux 平台的安装 以及一些常见命令

    1,添加,清理 yum 源,查看应用列表 1.1,yum install -y epel-release 1.2,yum clean all 1.3,yum list  (可以不运行) 2,安装, 启 ...

  5. linux centos7.5修改主机名和ip永久生效

    以centos7.5为例 1.修改主机名 [root@localhost ~]# hostname localhost.localdomain[root@localhost ~]# hostname ...

  6. delphi RTTI 三 属性读取与赋值

    delphi RTTI 读取属性 运行期 通过RTTI给属性赋值 http://docwiki.embarcadero.com/CodeExamples/Berlin/en/Event_RTTI_In ...

  7. css3 制作一个遮罩

    思路:1.显示两块图片,2.图片区域(初始隐藏),3.鼠标移入,遮罩显示,此时遮住图片,4.鼠标移出,遮罩恢复初始状态 用到两个css3 属性:transtion ,transform 用法: 1. ...

  8. C++17尝鲜:variant

    variant variant 是 C++17 所提供的变体类型.variant<X, Y, Z> 是可存放 X, Y, Z 这三种类型数据的变体类型. 与C语言中传统的 union 类型 ...

  9. docker仓库harbor搭建随笔

    docker除了自己的registry仓库工具外,还有vmware出品的harbor,harbor集成了ui界面,用户级别认证,重要的是对镜像管理比较全面,可以删除镜像,下面是 简单的部署指南 首先: ...

  10. [PHP]对Json字符串解码返回NULL的一般解决方案

    ---------------------------------------------------------------------------------------------------- ...