尾插法单链表的建立插入和删除
时间: 2023-12-18 14:23:42 浏览: 42
尾插法是一种在单链表中建立、插入和删除节点的常用方法。下面是尾插法单链表的建立、插入和删除的示例代码:
```python
# 定义单链表节点类
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
# 尾插法建立单链表
def createLinkedList(nums):
if not nums:
return None
dummy = ListNode() # 创建虚拟头节点
tail = dummy # 记录当前链表的尾节点
for num in nums:
tail.next = ListNode(num)
tail = tail.next
return dummy.next
# 在单链表的末尾插入节点
def insertAtTail(head, val):
if not head:
return ListNode(val)
curr = head
while curr.next:
curr = curr.next
curr.next = ListNode(val)
return head
# 删除值为val的节点
def deleteNode(head, val):
dummy = ListNode(0)
dummy.next = head
prev, curr = dummy, head
while curr:
if curr.val == val:
prev.next = curr.next
break
prev = curr
curr = curr.next
return dummy.next
```