python单链表代码
时间: 2023-03-13 22:36:05 浏览: 84
答:下面是一个典型的python单链表代码:class Node: def __init__(self,data): self.data=data self.next=Noneclass SLinkedList:def __init__(self): self.head=None def Atbegining(self,data_in): NewNode=Node(data_in) NewNode.next=self.head self.head=NewNode def LListprint(self): lastnode=self.head while lastnode is not None: print(lastnode.data, end=' ') lastnode=lastnode.next print("")list1=SLinkedList()list1.Atbegining("Mon")list1.Atbegining("Tue")list1.Atbegining("Wed")list1.Atbegining("Thu")list1.LListprint()
相关问题
写一个完整的python单链表代码
以下是一个简单的 Python 单链表实现:
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def append(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
return
current_node = self.head
while current_node.next is not None:
current_node = current_node.next
current_node.next = new_node
def display(self):
current_node = self.head
while current_node is not None:
print(current_node.data)
current_node = current_node.next
# 测试代码
linked_list = LinkedList()
linked_list.append(1)
linked_list.append(2)
linked_list.append(3)
linked_list.display() # 输出 1 2 3
Python单链表逆序
Python中的单链表逆序可以通过改变节点之间的指针指向来实现。具体步骤如下:
1. 定义一个函数,接受一个链表的头节点作为参数。
2. 初始化三个指针:prev指向None,curr指向头节点,next指向None。
3. 使用while循环遍历链表,直到curr为None。
4. 在循环中,先将next指向curr的下一个节点,然后将curr的下一个节点指向prev,实现指针的反转。
5. 将prev指向curr,curr指向next,继续遍历下一个节点。
6. 循环结束后,将链表的头节点指向prev,完成链表的逆序。
7. 返回逆序后的链表头节点。
下面是Python代码示例:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def reverseLinkedList(head):
prev = None
curr = head
next = None
while curr:
next = curr.next
curr.next = prev
prev = curr
curr = next
return prev
```