Python反转链表
这个题在LeetCode中是简单级别...
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
示例 1:
输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]
示例 2:
输入:head = [1,2]
输出:[2,1]
示例 3:
输入:head = []
输出:[]
提示:
链表中节点的数目范围是 [0, 5000]
-5000 <= Node.val <= 5000
进阶:链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题?
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-linked-list
解题思路:
原链表1 -> 2 -> 3 -> 4 -> 5 -> null 与很多解法不同,这个解法反转后的链表是 null <- 1 <- 2 <- 3 <- 4 <- 5 核心思想是找到当前节点与下个节点,将下个节点的next指向当前节点,遍历时将下个节点更新为当前节点;
# Definition for singly-linked list.
class ListNode:def __init__(self, val=0, next=None):self.val = valself.next = next
class Solution:def reverseList(self, head: ListNode) -> ListNode:# 判断特殊情况if not head or not head.next:return headpre = Nonewhile head:# 暂存当前node的下一个节点;next_node = head.next# 当前node的下一个节点指向前一个nodehead.next = pre# 更新,当前node为前一个节点pre = head# 更新,下一个节点为当前nodehead = next_nodereturn pre
Python反转链表相关推荐
- python 反转链表
反转链表 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点.示例:输入: 1->2->3->4->5->NULL 输出: 5->4->3 ...
- python反转链表_206. 反转链表(Python)
题目 难度:★★☆☆☆ 类型:链表 反转一个单链表. 进阶: 你可以迭代或递归地反转链表.你能否用两种方法解决这道题? 示例 输入: 1->2->3->4->5->NUL ...
- [Python] 反转链表相关技巧
前言 给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头. 要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n) ...
- python反转链表和成对反转
https://www.cnblogs.com/tianqizhi/p/9673894.html https://blog.csdn.net/weixin_34168700/article/detai ...
- python实现反转链表讲解_基于Python实现2种反转链表方法代码实例
题目: 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你 ...
- python实现链表反转(转置)
python实现链表反转(转置) 链表是面试里面经常涉及到的考点,因为链表的结构相比于Hashmap.Hashtable.Concurrenthashmap或者图等数据结构简单许多,对于后者更多面试的 ...
- 【剑指Offer专题】链表系列:从尾到头打印链表、反转链表、回文链表、合并两个排序的链表(C++和Python实现)...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 剑指Offer(三):从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每 ...
- python链表翻转_反转链表(两种Python解法)
题目: 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你 ...
- 翻转链表python递归_Python LeetCode-206.反转链表(难度-简单) 两个方法-迭代和递归,以及超简写法(python)...
1.题目描述 反转一个单链表. 实例 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: ...
- C++ Python 链表逆序 反转链表
** 以下为C++版本 ** 已知链表头节点指针head,将链表逆序.(不可申请额外空间) #include<stdio.h> struct ListNode {int val; //数据 ...
最新文章
- 游戏编程十年总结(下)(转)
- hbase的集群搭建
- java学习(七)java中抽象类及 接口
- 服务器程序的Xamarin-Java.Interop体验(一)
- DotNetBar office2007效果
- 目前市场上的电脑一体机从计算机种类,一体机电脑与普通电脑的区别
- 语雀携手Teambition,玩转项目协作与知识管理
- Spark初识-弹性分布式数据集RDD
- FirefoxOS 1.2 on ZTE Open
- LeetCode 面试题13. 机器人的运动范围
- Oracle数据库SqlLoad常用技巧总结word版
- SYBASE性能优化
- SourcesTree使用手册2:文件更新
- CSS的inherit与auto使用分析
- Eclipse-导入maven项目
- Protobuf3 序列化
- 关于ARMA模型的R语言实现
- C/C++:个人收支系统实现
- 未知错误 ID:-2147467259 操作必须使用一个可更新的查询
- 极速office(Excel)怎么把边框线条加粗