网络编程
位置:首页>> 网络编程>> Python编程>> Python3实现的反转单链表算法示例

Python3实现的反转单链表算法示例

作者:zhenghaitian  发布时间:2021-09-22 01:33:30 

标签:Python3,反转,单链表,算法

本文实例讲述了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程序设计有所帮助。

来源:https://blog.csdn.net/zhenghaitian/article/details/81009682

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com