编写一个函数:将单链表中数据元素逆置。
时间: 2023-06-02 18:06:26 浏览: 103
好的,这是一个算法问题,可以回答。下面是一种实现方式:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def add(self, data):
new_node = Node(data)
new_node.next = self.head
self.head = new_node
def reverse(self):
prev = None
cur = self.head
while cur:
next_node = cur.next
cur.next = prev
prev = cur
cur = next_node
self.head = prev
def print(self):
cur = self.head
while cur:
print(cur.data, end=' ')
cur = cur.next
# Example usage:
ll = LinkedList()
ll.add(1)
ll.add(2)
ll.add(3)
ll.add(4)
ll.add(5)
ll.print() # Output: 5 4 3 2 1
ll.reverse()
ll.print() # Output: 1 2 3 4 5
```
这个函数可以将单链表中的元素逆置,并且修改原链表的头节点。
阅读全文