xwj12138 2022-11-01 22:55 采纳率: 50%
浏览 16

python3 对象赋值问题

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

listA = eval(input())
list1 = temp1 = ListNode()

count=0
for i in listA:

temp1.val = i
print(list1.val,temp1.val,'temp1')
temp1.next = ListNode()

while list1:
print('H',list1.val)
list1=list1.next

输入[1,2,3]

输出
1 1 temp1
2 2 temp1
3 3 temp1
H 3
H 0

请问下结果为什么 不是 1 2 3 0的输出

  • 写回答

1条回答 默认 最新

  • program_mer 2022-11-02 09:31
    关注

    因为你的temp1始终指向链表的第一个元素,没有移动。要给for循环加一行

    for i in listA:
        temp1.val = i
        print(list1.val,temp1.val,'temp1')
        temp1.next = ListNode()
        temp1 = temp1.next
    
    评论

报告相同问题?

问题事件

  • 创建了问题 11月1日