标签:直接 一个 链表的操作 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