实现n个整数类型数据的顺序表的逆置
时间: 2024-09-29 11:05:15 浏览: 27
数据结构(Java语言描述) 案例01 顺序表的就地逆置.docx
实现一个整数类型数据的顺序表(数组或链表)逆置,通常有两种方法:
1. **数组逆置**:
- 对于数组,可以直接通过两个指针,一个从头开始(索引为0),另一个从尾部(n-1)开始,同时向中间移动,交换它们指向的元素,直到相遇。
```python
def reverse_array(arr):
start = 0
end = len(arr) - 1
while start < end:
arr[start], arr[end] = arr[end], arr[start]
start += 1
end -= 1
return arr
```
2. **链表逆置**:
- 链表的逆置需要遍历整个链表,并将当前节点的next指向前一个节点,最后返回新的头节点。
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def reverse_linked_list(head):
prev = None
curr = head
while curr is not None:
temp = curr.next
curr.next = prev
prev = curr
curr = temp
return prev
```
阅读全文