反转链表

输入一个链表,反转链表后,输出新链表的表头。

解题思路

暴力求解:

  1. 先用数组res存一遍所有的值;
  2. 然后再构建一个链表。
# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution:# 返回ListNodedef ReverseList(self, pHead):# write code hereres=[]if pHead is None or pHead.next is None:return pHeadwhile pHead.next:res.append(pHead.val)pHead=pHead.next#res.append(pHead.val)r = rHead = ListNode(pHead.val)for i in range(len(res)):rHead.next=ListNode(res.pop())rHead=rHead.nextrHead.next=Nonereturn r #注意这里是返回头

使用三个指针完成,参考这篇博客的图示,很清楚!!!

注意最后一步,当没有第三个指针时,要在循环外赋值,不然会少一个数!

# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution:# 返回ListNodedef ReverseList(self, pHead):# write code hereres=[]if pHead is None or pHead.next is None:return pHeadfirst=pHeadsecond=pHead.nextpHead.next=Nonewhile second.next:third=second.nextsecond.next=firstfirst=secondsecond=thirdsecond.next=firstfirst=secondreturn first

剑指offer:反转链表 python实现相关推荐

  1. 剑指offer -- 反转链表

    先摆明重要性 剑指offer -- 反转链表  校招原题 解法一:迭代 翻转 即 将所有节点的next指针指向前驱节点. 由于是单链表,我们在迭代时不能直接找到前驱节点,所以我们需要一个额外的指针保存 ...

  2. 【链表】剑指offer:反转链表

    描述 给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头. 要求:空间复杂度 O(1),时间复杂度 O(n) . 当输入链表{1 ...

  3. 剑指offer反转链表(C++实现|测试用例|迭代法和递归法)

    方法1:迭代法 代码: #include<iostream> using namespace std; struct ListNode { int val; ListNode *next; ...

  4. 【每日一题】剑指 Offer 22. 链表中倒数第k个节点

    剑指 Offer 22. 链表中倒数第k个节点

  5. 剑指offer有python版吗_剑指Offer算法类题目[Python版]

    标签:重复   作用   coding   面试   medium   mba   none   fas   utf-8 面试题012 数值的整数次方 解题思路1 考虑所有情况,循环连乘 代码: de ...

  6. 【LeetCode】剑指 Offer 22. 链表中倒数第k个节点

    [LeetCode]剑指 Offer 22. 链表中倒数第k个节点 文章目录 [LeetCode]剑指 Offer 22. 链表中倒数第k个节点 一.遍历 二.双指针 总结 一.遍历 先遍历统计链表长 ...

  7. 力扣—— 19. 删除链表的倒数第 N 个结点(java)、剑指 Offer 22. 链表中倒数第k个节点(java)

    19. 删除链表的倒数第 N 个结点(java) 一.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 输入:head = [1,2,3 ...

  8. 剑指Offer 66题 python版本 汇总

    牛客网剑指offer 66题汇总 (python) 有部分参考牛客网答案,部分为自己提交结果 1. 二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每 ...

  9. 每日一题——剑指 Offer24反转链表

    如果您是第一次看我写的博客,可以给我点个赞并关注我吗,我会持续分享更多有意思的干货. 文章目录 1 题目 2 思路 3 代码 4 小结 1 题目 剑指 Offer 24. 反转链表 定义一个函数,输入 ...

  10. 剑指Offer #14 链表中倒数第k个结点(快慢指针) | 图文详解

    题目来源:牛客网-剑指Offer专题 题目地址:链表中倒数第k个结点 题目描述 输入一个链表,输出该链表中倒数第k个结点. 节点结构如下: public class ListNode {int val ...

最新文章

  1. UVA1391 Astronauts(ACM - ICPC 2006 Europe - Central)(2 - SAT问题、输出方案)
  2. 恢复Linux误删除文件系列之scalpel工具
  3. python 柱状图宽度设置_Python matplotlib 柱状图实例
  4. 科大星云诗社动态20211212
  5. 6月第2周回顾:雅虎收购案谈崩 中国***成焦点
  6. python爬虫案例-乌托家家具公司数据爬取
  7. Chrome浏览器 开发者工具中的 Performance
  8. 一扬开源新闻静态生成系统V1.0发布
  9. Internet Explorer 7 功能
  10. 蓝牙模块的分类和对应的属性特点
  11. Android解决getExternalStorageDirectory在29后废弃问题,亲测能用
  12. 深度学习、机器学习面试问题总结
  13. 计算机公式sin,三角函数换算(新版中文三角函数计算器)
  14. python base64解密
  15. android 手机录屏功能,手机自带录屏功能在哪里找?轻松搞定屏幕录制
  16. 中国推出网上“防沉迷系统”
  17. 微步在线:半年融资8亿,综合型网络安全“新贵”诞生
  18. 简单解释op(面向过程procedure- oriented)与oo(面向对象object-oriented)
  19. WebRTC系列<四> 全面了解客户端-服务器网页游戏的WebRTC
  20. 暗影格斗3服务器响应比预期,暗影格斗3代码问题导致无法正常游戏

热门文章

  1. ansible部署tomcat及 include机制
  2. 【翻译转载】【官方教程】Asp.Net MVC4入门指南(2):添加一个控制器
  3. Spring Boot不允许加载iframe问题解决
  4. 通过源码分析Android 的消息处理机制
  5. Syslog-ng+Rsyslog收集日志:logrotate日志切割、轮询(七)
  6. Oracle 表的访问方式(2)-----索引扫描
  7. js递归函数使用介绍
  8. SWIG和PInvoke学习(1)
  9. 存储的学习:freenas使用记录
  10. 电脑怎样限制装软件 怎么限制软件运行