Python3实现的反转单链表算法示例
更新时间:2019年03月08日 09:15:34 作者:zhenghaitian
这篇文章主要介绍了Python3实现的反转单链表算法,结合实例形式总结分析了Python基于迭代算法与递归算法实现的翻转单链表相关操作技巧,需要的朋友可以参考下
本文实例讲述了Python3实现的反转单链表算法。分享给大家供大家参考,具体如下:
反转一个单链表。
方案一:迭代
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
cur, pre = head, None
while cur:
cur.next, pre, cur = pre, cur, cur.next
return pre
方案二:递归
# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
# 返回ListNode
def ReverseList(self, pHead):
# write code here
if not pHead or not pHead.next:
return pHead
else:
newHead = self.ReverseList(pHead.next)
pHead.next.next=pHead
pHead.next=None
return newHead
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
相关文章
PyInstaller将Python脚本打包为.exe可执行文件的步骤详解
Python是一门强大而灵活的编程语言,为了方便共享和部署,我们可以将 Python 脚本打包为可执行文件(.exe),这样其他用户就无需安装 Python环境,直接运行可执行文件即可,本文将介绍如何使用PyInstaller 工具实现这一目标,需要的朋友可以参考下2023-12-12
Pycharm安装并配置jupyter notebook的实现
这篇文章主要介绍了Pycharm安装并配置jupyter notebook的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-05-05
Pytorch中torch.unsqueeze()与torch.squeeze()函数详细解析
torch.squeeze()这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,下面这篇文章主要给大家介绍了关于Pytorch中torch.unsqueeze()与torch.squeeze()函数详细的相关资料,需要的朋友可以参考下2023-02-02


最新评论