python 数组转循环链表
时间: 2023-11-03 19:59:50 浏览: 142
要将一个Python数组转换为循环链表,你可以使用一个链表节点类来表示节点对象,并使用循环链接节点的next指针来构建循环链表。下面是一个示例代码:
```python
class ListNode:
def __init__(self, val):
self.val = val
self.next = None
def array_to_circular_linked_list(nums):
if not nums:
return None
head = ListNode(nums[0])
curr = head
for i in range(1, len(nums)):
node = ListNode(nums[i])
curr.next = node
curr = curr.next
curr.next = head # 构建循环链表
return head
```
这个函数接受一个数组作为输入,并返回循环链表的头节点。你可以使用以下代码测试它:
```python
nums = [1, 2, 3, 4, 5]
result = array_to_circular_linked_list(nums)
# 打印循环链表的节点值
curr = result
while curr:
print(curr.val)
curr = curr.next
if curr == result: # 如果回到头节点,则停止打印
break
```
阅读全文