将带头结点的单链表中偶数值的结点删除的实验代码
时间: 2024-11-27 18:08:53 浏览: 3
c代码-不带头结点单链表创建——头插法
在Python中,我们可以创建一个简单的实验代码来遍历单链表并删除所有偶数节点。首先,我们需要定义链表节点的结构,并实现一个辅助函数来判断节点值是否为偶数。然后,我们会实现一个方法来遍历链表并删除偶数节点。
```python
# 定义链表节点结构
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def is_even(node):
# 判断节点值是否为偶数
return node.val % 2 == 0 if node is not None else False
def delete_even(head):
# 删除偶数节点
current = head
prev = None
while current:
if is_even(current):
if prev:
prev.next = current.next
else: # 如果是头节点
head = current.next
else:
prev = current
current = current.next
# 示例如何使用这个函数
# 创建一个链表
head = ListNode(1)
head.next = ListNode(2)
head.next.next = ListNode(3)
head.next.next.next = ListNode(4)
head.next.next.next.next = ListNode(5)
# 调用函数删除偶数节点
delete_even(head)
# 遍历并打印结果
current = head
while current:
print(current.val, end=" -> " if current.next else "")
current = current.next
```
阅读全文