python,问一个关于单链表的问题

最基础的单链表问题

img

代码是正确的,但是有点看不懂。在python语法中cur是定义函数length()里定义的, .next是Node class里的,为什么可以直接调用cur.next?有点看不明白

非常感谢帮忙!

cur指向init里面的self._head,也就是传进来的的数据,数据穿进来的时候就已经变成Node类型了


你可以用type看看他的类型,你以为是一个列表,但是打印出类型来是Node类型

img


里面是可以用.next是下一个Node,而.val是这个Node的数

之前是函数定义一个类似这样的操作,下面给你讲的是尾插法,别的方法建议你看看数据结构

if not l: #如果列表为空
        return None #返回空
    head = ListNode() #创建头节点
    temp = head #记录头节点
#此处l就是列表
    for elem in l:
        temp.next = ListNode(elem) #当前指向下一个元素
        temp = temp.next #temo指针后移
    return head