为什么调用addAtIndex可以不停的插入ListNode


class ListNode:
    def __init__(self, val):
        self.val = val
        self.next = None

class MyLinkedList:
    def __init__(self):
        self.size = 0
        self.head = ListNode(0)
    def get(self, index: int) -> int:
        if index < 0 or index >= self.size:
            return -1
        cur = self.head
        for _ in range(index + 1):
            cur = cur.next
        return cur.val
    def addAtHead(self, val: int) -> None:
        self.addAtIndex(0, val)
    def addAtTail(self, val: int) -> None:
        self.addAtIndex(self.size, val)
    def addAtIndex(self, index: int, val: int) -> None:
        if index > self.size:
            return
        index = max(0, index)
        self.size += 1
        pred = self.head
        for _ in range(index):
            pred = pred.next
        to_add = ListNode(val)
        to_add.next = pred.next
        pred.next = to_add
    def deleteAtIndex(self, index: int) -> None:
        if index < 0 or index >= self.size:
            return
        self.size -= 1
        pred = self.head
        for _ in range(index):
            pred = pred.next
        pred.next = pred.next.next

ll=MyLinkedList()
ll.addAtHead(30)
ll.addAtTail(50)
ll.addAtIndex(1,40)
a=ll.get(0)
b=ll.get(1)
c=ll.get(2)
d=ll.get(5)
print(a,b,c,d)
ll.addAtIndex(2,100)
a=ll.get(2)
print(a)

为什么调用addAtIndex可以不停的插入ListNode,代码没有递归啊,求解释。

测试了一下没问题啊,你出现啥输出了啊?