欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 鏈表相等

吉茹定2年前10瀏覽0評論

鏈表是常見的數據結構之一,Python也提供了相應的實現方法。當我們需要判斷兩個鏈表是否相等時,我們需要考慮鏈表中每個節點的值、節點的位置等多個因素。

class Node:
def __init__(self, val=None, next=None):
self.val = val
self.next = next
class LinkedList:
def __init__(self):
self.head = None
#在鏈表結尾添加節點
def add_node(self, val):
node = Node(val)
if not self.head:
self.head = node
else:
current = self.head
while current.next:
current = current.next
current.next = node
#判斷兩個鏈表是否相等
def __eq__(self, other):
if not isinstance(other, LinkedList):
return False
current1 = self.head
current2 = other.head
while current1 and current2:
if current1.val != current2.val:
return False
current1 = current1.next
current2 = current2.next
return current1 is None and current2 is None
a = LinkedList()
a.add_node(1)
a.add_node(2)
b = LinkedList()
b.add_node(1)
b.add_node(2)
c = LinkedList()
c.add_node(1)
c.add_node(3)
print(a == b) #True
print(a == c) #False

上述代碼定義了一個Node類和一個LinkedList類,其中LinkedList類包含了判斷兩個鏈表是否相等的方法。在main函數中,我們分別創建了鏈表a、b、c,其中a和b兩個鏈表相等,而a和c兩個鏈表不相等。可以看到,我們使用了雙指針的方法對兩個鏈表進行遍歷,同時比較兩個鏈表中節點的值是否相等,最后返回判斷結果。