逆序数据建立链表pta
时间: 2024-10-21 11:11:31 浏览: 19
逆序数据建立链表pta.docx
逆序数据建立链表通常是指将给定的一个序列中的元素按照相反的顺序连接成一个新的链表。例如,如果你有一个数组 `[1, 2, 3, 4]`,逆序之后的新链表会是 `4 -> 3 -> 2 -> 1`。
这种操作的一种常见算法是迭代法,你可以通过创建一个新的头节点,并依次将原数组的元素添加到新链表的末尾,形成倒序的关系。以下是基本步骤:
1. 初始化两个指针,一个指向原始数组的开头(当前元素),另一个指向新链表的头部(空)。
2. 循环遍历原始数组,每次取出一个元素,将其作为新的链表节点并链接到之前已存在的节点后面,然后移动指针。
3. 当遍历完原始数组后,新链表就会按照逆序的形式构建完成。
在Python中,可以这样实现:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def reverseList(nums):
if not nums or nums[0] is None:
return None
prev = None
curr = nums[0]
for i in range(len(nums) - 1, -1, -1):
next_node = nums[i + 1] if i < len(nums) - 1 else None
curr.next = prev
prev = curr
curr = next_node
return prev
```
在这个例子中,`nums` 是一个包含整数的列表,函数 `reverseList` 将其转换为链表形式。
阅读全文