标签:直接 一个 链表的操作 ret 链表 思路 elf self 单链表
单向循环链表的操作
length()返回链表的长度
思路:当头节点为空的时候,直接返回0
其它情况下,先确定循环条件,之前单链表的cur != None这一条件不适用于此,因为最后一个节点会指向头节点,即此时是cur.next==self.__head
而cur==self.__head同样不可取,第一个节点就满足,循环马上退出
count计算应该从1开始,因为如果一开始count=0的话,此时cur指向第一个节点,之前是因为cur会指向None,count能够正常计数,这时候应该从1开始计,而0的情况(就链表为空),先提前判断
class SinCycLinkedlist(object):
def __init__(self,node=None):
self.__head=node
if node:
node.next=self.__head
def length(self):
cur=self.__head
if self.__head==None:
return 0
count=1
while cur.next != self.__head:
count=+1
cur=cur.next
return count
标签:直接 一个 链表的操作 ret 链表 思路 elf self 单链表
原文地址:https://www.cnblogs.com/cong3Z/p/12886589.html