剑指offer:反转链表 python实现
反转链表
输入一个链表,反转链表后,输出新链表的表头。
解题思路
暴力求解:
- 先用数组res存一遍所有的值;
- 然后再构建一个链表。
# -*- 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实现相关推荐
- 剑指offer -- 反转链表
先摆明重要性 剑指offer -- 反转链表 校招原题 解法一:迭代 翻转 即 将所有节点的next指针指向前驱节点. 由于是单链表,我们在迭代时不能直接找到前驱节点,所以我们需要一个额外的指针保存 ...
- 【链表】剑指offer:反转链表
描述 给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头. 要求:空间复杂度 O(1),时间复杂度 O(n) . 当输入链表{1 ...
- 剑指offer反转链表(C++实现|测试用例|迭代法和递归法)
方法1:迭代法 代码: #include<iostream> using namespace std; struct ListNode { int val; ListNode *next; ...
- 【每日一题】剑指 Offer 22. 链表中倒数第k个节点
剑指 Offer 22. 链表中倒数第k个节点
- 剑指offer有python版吗_剑指Offer算法类题目[Python版]
标签:重复 作用 coding 面试 medium mba none fas utf-8 面试题012 数值的整数次方 解题思路1 考虑所有情况,循环连乘 代码: de ...
- 【LeetCode】剑指 Offer 22. 链表中倒数第k个节点
[LeetCode]剑指 Offer 22. 链表中倒数第k个节点 文章目录 [LeetCode]剑指 Offer 22. 链表中倒数第k个节点 一.遍历 二.双指针 总结 一.遍历 先遍历统计链表长 ...
- 力扣—— 19. 删除链表的倒数第 N 个结点(java)、剑指 Offer 22. 链表中倒数第k个节点(java)
19. 删除链表的倒数第 N 个结点(java) 一.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 输入:head = [1,2,3 ...
- 剑指Offer 66题 python版本 汇总
牛客网剑指offer 66题汇总 (python) 有部分参考牛客网答案,部分为自己提交结果 1. 二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每 ...
- 每日一题——剑指 Offer24反转链表
如果您是第一次看我写的博客,可以给我点个赞并关注我吗,我会持续分享更多有意思的干货. 文章目录 1 题目 2 思路 3 代码 4 小结 1 题目 剑指 Offer 24. 反转链表 定义一个函数,输入 ...
- 剑指Offer #14 链表中倒数第k个结点(快慢指针) | 图文详解
题目来源:牛客网-剑指Offer专题 题目地址:链表中倒数第k个结点 题目描述 输入一个链表,输出该链表中倒数第k个结点. 节点结构如下: public class ListNode {int val ...
最新文章
- UVA1391 Astronauts(ACM - ICPC 2006 Europe - Central)(2 - SAT问题、输出方案)
- 恢复Linux误删除文件系列之scalpel工具
- python 柱状图宽度设置_Python matplotlib 柱状图实例
- 科大星云诗社动态20211212
- 6月第2周回顾:雅虎收购案谈崩 中国***成焦点
- python爬虫案例-乌托家家具公司数据爬取
- Chrome浏览器 开发者工具中的 Performance
- 一扬开源新闻静态生成系统V1.0发布
- Internet Explorer 7 功能
- 蓝牙模块的分类和对应的属性特点
- Android解决getExternalStorageDirectory在29后废弃问题,亲测能用
- 深度学习、机器学习面试问题总结
- 计算机公式sin,三角函数换算(新版中文三角函数计算器)
- python base64解密
- android 手机录屏功能,手机自带录屏功能在哪里找?轻松搞定屏幕录制
- 中国推出网上“防沉迷系统”
- 微步在线:半年融资8亿,综合型网络安全“新贵”诞生
- 简单解释op(面向过程procedure- oriented)与oo(面向对象object-oriented)
- WebRTC系列<四> 全面了解客户端-服务器网页游戏的WebRTC
- 暗影格斗3服务器响应比预期,暗影格斗3代码问题导致无法正常游戏