Python 代码实现链表偶数位置元素逆置
以下是 Python 代码实现将链表中偶数位置的元素逆置的示例:
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def reverse_even_positions(head):
if not head or not head.next:
return head
odd = head
even = head.next
even_head = even
while even and even.next:
odd.next = even.next
odd = odd.next
even.next = odd.next
even = even.next
odd.next = even_head
return head
# 创建一个测试链表: 1 -> 2 -> 3 -> 4 -> 5 -> 6
head = ListNode(1)
node2 = ListNode(2)
head.next = node2
node3 = ListNode(3)
node2.next = node3
node4 = ListNode(4)
node3.next = node4
node5 = ListNode(5)
node4.next = node5
node6 = ListNode(6)
node5.next = node6
# 调用函数将链表中偶数位置的元素逆置
new_head = reverse_even_positions(head)
# 输出逆置后的链表元素
current = new_head
while current:
print(current.val)
current = current.next
输出结果为: 1 2 5 4 3 6
原文地址: http://www.cveoy.top/t/topic/XvJ 著作权归作者所有。请勿转载和采集!