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程序设计有所帮助。
相关文章
pytorch中Tensor.to(device)和model.to(device)的区别及说明
这篇文章主要介绍了pytorch中Tensor.to(device)和model.to(device)的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-07-07
最新评论