Я хотел поочередно объединить два элемента связанного списка. Я подсчитал длину этих двух связанных списков вручную, а затем создал узел с фиктивной головой, который будет использоваться для слияния. Я получаю ошибки "AttributeError: объект 'NoneType' не имеет атрибута 'elem'", и я думаю, что мой подход весьма неэффективен.
У меня есть несколько ошибок. ограничения, например, я не могу использовать встроенные функции или отрицательную индексацию.
class Node:
def __init__(self,elem,next = None):
self.elem,self.next = elem,next
def createList(arr):
head = Node(arr[0])
tail = head
for i in range(1,len(arr)):
newNode = Node(arr)
tail.next = newNode
tail = newNode
return head
def printLinkedList(head):
temp = head
while temp != None:
if temp.next != None:
print(temp.elem, end = '-->')
else:
print(temp.elem)
temp = temp.next
print()
def alternate_merge(head1, head2):
counter1 = 0
counter2 = 0
temp1 = head1
temp2 = head2
while temp1!=None:
counter1+=1
temp1 = temp1.next
while temp2!=None:
counter2+=1
temp2 = temp2.next
if counter1 5 --> 2 --> 7 --> 6 --> 3 --> 8 --> 9 --> 11 --> 4
print('==============Test Case 2=============')
head1 = createList(np.array([5, 3, 2, -4]))
head2 = createList(np.array([-4, -6, 1]))
print("Linked List 1:")
printLinkedList(head1)
print("Linked List 2:")
printLinkedList(head2)
head = alternate_merge(head1, head2)
print("Merged Linked List:")
printLinkedList(head) #This should print 5 → -4 -> 3 → -6 -> 2 -> 1 -> -4
print('==============Test Case 3=============')
head1 = createList(np.array([4, 2, -2, -4]))
head2 = createList(np.array([8, 6, 5, -3]))
print("Linked List 1:")
printLinkedList(head1)
print("Linked List 2:")
printLinkedList(head2)
head = alternate_merge(head1, head2)
print("Merged Linked List:")
printLinkedList(head) #This should print 4-> 8 → 2-> 6 → -2 → 5 → -4 -> -3
Подробнее здесь: https://stackoverflow.com/questions/792 ... list-merge
Альтернативное объединение связанного списка ⇐ Python
Программы на Python
-
Anonymous
1732268090
Anonymous
Я хотел поочередно объединить два элемента связанного списка. Я подсчитал длину этих двух связанных списков вручную, а затем создал узел с фиктивной головой, который будет использоваться для слияния. Я получаю ошибки [b]"AttributeError: объект 'NoneType' не имеет атрибута 'elem'"[/b], и я думаю, что мой подход весьма неэффективен.
У меня есть несколько ошибок. ограничения, например, я не могу использовать встроенные функции или отрицательную индексацию.
class Node:
def __init__(self,elem,next = None):
self.elem,self.next = elem,next
def createList(arr):
head = Node(arr[0])
tail = head
for i in range(1,len(arr)):
newNode = Node(arr[i])
tail.next = newNode
tail = newNode
return head
def printLinkedList(head):
temp = head
while temp != None:
if temp.next != None:
print(temp.elem, end = '-->')
else:
print(temp.elem)
temp = temp.next
print()
def alternate_merge(head1, head2):
counter1 = 0
counter2 = 0
temp1 = head1
temp2 = head2
while temp1!=None:
counter1+=1
temp1 = temp1.next
while temp2!=None:
counter2+=1
temp2 = temp2.next
if counter1 5 --> 2 --> 7 --> 6 --> 3 --> 8 --> 9 --> 11 --> 4
print('==============Test Case 2=============')
head1 = createList(np.array([5, 3, 2, -4]))
head2 = createList(np.array([-4, -6, 1]))
print("Linked List 1:")
printLinkedList(head1)
print("Linked List 2:")
printLinkedList(head2)
head = alternate_merge(head1, head2)
print("Merged Linked List:")
printLinkedList(head) #This should print 5 → -4 -> 3 → -6 -> 2 -> 1 -> -4
print('==============Test Case 3=============')
head1 = createList(np.array([4, 2, -2, -4]))
head2 = createList(np.array([8, 6, 5, -3]))
print("Linked List 1:")
printLinkedList(head1)
print("Linked List 2:")
printLinkedList(head2)
head = alternate_merge(head1, head2)
print("Merged Linked List:")
printLinkedList(head) #This should print 4-> 8 → 2-> 6 → -2 → 5 → -4 -> -3
Подробнее здесь: [url]https://stackoverflow.com/questions/79213234/alternate-linked-list-merge[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия