链表 python 实现
时间: 2024-01-04 17:17:46 浏览: 37
以下是用Python实现链表的示例代码:
```python
# 定义链表节点类
class ListNode:
def __init__(self, val=None):
self.val = val
self.next = None
# 定义链表类
class LinkedList:
def __init__(self):
self.head = None
# 在链表末尾添加节点
def addNode(self, val):
newNode = ListNode(val)
if self.head is None:
self.head = newNode
else:
curr = self.head
while curr.next:
curr = curr.next
curr.next = newNode
# 删除指定值的节点
def deleteNode(self, val):
if self.head is None:
return
if self.head.val == val:
self.head = self.head.next
return
curr = self.head
while curr.next:
if curr.next.val == val:
curr.next = curr.next.next
return
curr = curr.next
# 查询指定值的节点是否存在
def searchNode(self, val):
curr = self.head
while curr:
if curr.val == val:
return True
curr = curr.next
return False
# 打印链表
def printList(self):
curr = self.head
while curr:
print(curr.val, end=" ")
curr = curr.next
print()
# 创建链表对象
linkedlist = LinkedList()
# 添加节点
linkedlist.addNode(1)
linkedlist.addNode(2)
linkedlist.addNode(3)
# 删除节点
linkedlist.deleteNode(2)
# 查询节点
print(linkedlist.searchNode(3)) # 输出:True
print(linkedlist.searchNode(2)) # 输出:False
# 打印链表
linkedlist.printList() # 输出:1 3
```