通过遍历确定单链表中结点的最大值python
时间: 2024-03-23 18:40:49 浏览: 13
可以通过遍历单链表来确定结点的最大值,具体实现方式如下:
```python
class Node:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
class LinkedList:
def __init__(self):
self.head = None
def add_node(self, val):
new_node = Node(val)
if not self.head:
self.head = new_node
else:
node = self.head
while node.next:
node = node.next
node.next = new_node
def max_node(self):
if not self.head:
return None
else:
max_val = self.head.val
node = self.head.next
while node:
if node.val > max_val:
max_val = node.val
node = node.next
return max_val
# 测试代码
ll = LinkedList()
ll.add_node(3)
ll.add_node(2)
ll.add_node(5)
ll.add_node(1)
print(ll.max_node()) # 输出 5
```
在上面的代码中,我们定义了两个类:`Node` 和 `LinkedList`。`Node` 类表示单链表中的一个结点,包含一个值和一个指向下一个结点的指针。`LinkedList` 类表示一个单链表,包含一个头结点。
在 `LinkedList` 类中,我们实现了 `add_node` 方法,用于向链表中添加结点;实现了 `max_node` 方法,用于遍历链表寻找最大值。遍历链表时,我们从头结点开始,依次遍历每个结点,记录最大值,最后返回最大值即可。
阅读全文