本文实例讲述了Python3实现的反转单链表算法。分享给大家供大家参考,具体如下:
反转一个单链表。
方案一:迭代
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# 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 |
方案二:递归
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# -*- 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