Код: Выделить всё
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
) code>).
Предполагая, что l1 является экземпляром класса ListNode с print(l1.nextNode), дает:
Код: Выделить всё
ListNode{val: 4, next: ListNode{val: 3, next: None}}Почему это Сбой: print (nextNode.val)
Код: Выделить всё
AttributeError: 'NoneType' object has no attribute 'val'Код: Выделить всё
if nextNode is not None:
print(nextNode.val)
else:
print("Node is None")
Интересно, связан ли ответ на приведенный выше вопрос с тем, почему это также Не работает с помощью try/catch:
Код: Выделить всё
try:
print("try block executed")
print(nextNode.val)
except:
**print("except block executed1")
print(nextNode.val)**
if nextNode is not None:
print("except block executed"2)
print(nextNode.val)
else:
print("Node is None")
Код: Выделить всё
try:
print("try block executed")
print(nextNode.val)
except:
if nextNode is not None:
print("except block executed")
print(nextNode.val)
else:
print("Node is None")
Найдена причина, оказалось, что код не работает для определенного тестового примера, где он имеет только 1 узел, но когда он успешен, он показывает результат другого тестового примера< /p>
Обнаружил это при попытке создать копируемый код, ошибка новичка...
Для получения более подробной информации проверьте проблему LeetCode по предоставленной ссылке. в начале.
Подробнее здесь: https://stackoverflow.com/questions/793 ... ullity-why
Мобильная версия