求链表的长度(Python语言描述)本题要求实现一个链表类LinkList的方法,求链表(含有带头结点)的长度。
时间: 2024-03-30 19:15:41 浏览: 21
下面是 Python 代码实现:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
class LinkList:
def __init__(self):
self.head = ListNode()
def add(self, val):
node = ListNode(val)
p = self.head
while p.next:
p = p.next
p.next = node
def length(self):
p = self.head.next
length = 0
while p:
length += 1
p = p.next
return length
```
上述代码实现了一个链表类 `LinkList`,其中 `add` 方法用于向链表中添加元素,`length` 方法用于求链表的长度。其中 `ListNode` 是链表节点的类,包含节点的值 `val` 和指向下一个节点的指针 `next`。`LinkList` 类中的头结点 `head` 的 `next` 属性指向链表的第一个节点,当链表为空时,`head.next` 为 `None`。