用Python写单链表的建立、遍历和反转
时间: 2024-05-02 09:23:26 浏览: 18
单链表是一种常见的数据结构,它由一个节点序列组成,每个节点包含一个元素和一个指向下一个节点的指针。下面是Python中单链表的建立、遍历和反转的示例代码:
```python
# 定义单链表节点类
class ListNode:
def __init__(self, value):
self.val = value
self.next = None
# 建立单链表
def createLinkedList(arr):
if not arr:
return None
head = ListNode(arr[0])
cur = head
for i in range(1, len(arr)):
node = ListNode(arr[i])
cur.next = node
cur = cur.next
return head
# 遍历单链表
def printLinkedList(head):
cur = head
while cur:
print(cur.val, end=" ")
cur = cur.next
# 反转单链表
def reverseLinkedList(head):
pre = None
cur = head
while cur:
temp = cur.next
cur.next = pre
pre = cur
cur = temp
return pre
```
示例:
```python
# 建立单链表
arr = [1, 2, 3, 4, 5]
head = createLinkedList(arr)
# 遍历单链表
printLinkedList(head)
# 输出:1 2 3 4 5
# 反转单链表
newHead = reverseLinkedList(head)
printLinkedList(newHead)
# 输出:5 4 3 2 1
```