До сих пор, это то, что я прямо сейчасСоздание рекурсивной функции в Python 3
class X:
def __init__(self,value,next=None):
self.value = value
self.next = next
def linkedlist(l):
if l == []:
return None
beg = end = X(l[0])
for v in l[1:]:
end.next = X(v)
end = end.next
return beg
lst1 = linkedlist(['a', 'b', 'c''])
lst2 = linkedlist(['a', 'b', 'c'])
lst3 = linkedlist(['c', 'a', 'b'])
Я пытаюсь создать рекурсивную функцию, которая будет определять, являются ли два связанных списков, LST 1 и LST 2, одинаковы. Если они есть, он вернет True, иначе False.
def is_same(lst1, lst2):
if lst1.next == None or lst2.next == None:
return None
else:
if lst1.next == lst2.next:
return X(is_same(lst1.next, lst2.next))
else:
return True
Я знаю, что моя рекурсивная функция неверна, но у меня проблемы, потому что она продолжает давать мне ошибки. Функция «is_same» возвращается True каждый раз, когда я помещаю:
is_same(lst1, lst2)
is_same(lst1, lst3) # This should be False
'не lst1 и не lst2' может быть выражена как' lst1 == lst2 == None' в Python. – falsetru
Что делает «\»? – Kara
Это означает, что следующая строка не является логической новой строкой продолжением. –