私のコードは2つの並べ替えられたリンクリストの交差点である新しいリストを印刷することができません。機能内のリストにアクセスすることはできません。私のコードで間違いを指摘してください。私のコードにインデントの問題はなく、アルゴリズムもうまくいくようです。ここでpython3でリンクされた2つのリストの交点?
class Node(object):
def __init__(self,data):
self.data = data
self.next = None
class Linked(object):
def __init__(self):
self.head = None
def push(self,n):
new_node = Node(n)
new_node.next = self.head
self.head = new_node
def print_list(self):
current = self.head
while current:
print(current.data)
current = current.next
def intersect(self,l1,l2):
l1 = l1.head
l2 = l2.head
dummy = cur = Node(0)
while l1 and l2:
if l2.data>l1.data:
l1=l1.next
elif l1.data>l2.data:
l2=l2.next
else:
cur.next = l1 or l2
l1 = l1.next
l2 = l2.next
cur = cur.next
return dummy.next
llist = Linked()
llist1 = Linked()
llist.push(6)
llist.push(4)
llist.push(3)
llist.push(2)
llist.push(1)
llist1.push(8)
llist1.push(6)
llist1.push(4)
llist1.push(2)
l = Linked()
print(l.intersect(llist,llist1).data)
はトレースバックです:
Traceback (most recent call last):
File "C:/Users/omsai/Desktop/intersection.py", line 48, in <module>
print(l.intersect(llist,llist1).data)
File "C:/Users/omsai/Desktop/intersection.py", line 26, in intersect
if l2.data>l1.data:
AttributeError: 'Linked' object has no attribute 'data'
そのは今、次のエラー表示:トレースバック(最新の呼び出しの最後): ファイル "C:/Users/omsai/Desktop/intersection.py" プリント(l.intersect(llist、中、ライン51を、 llist1).data) ファイル "C:/Users/omsai/Desktop/intersection.py"、行33、交差点 cur.next = l1.data AttributeError: 'NoneType'オブジェクトに属性 'next'がありません –
ありがとう助けを求めて出来た。 leetcodeに関する質問を解決するように思えます。あなた自身のエディタは全く異なります –