Правильна ли эта реализация пар узлов обмена? - PullRequest
0 голосов
/ 20 февраля 2020

Вопрос: Для связанного списка поменяйте местами каждые два соседних узла и верните его заголовок.

Вы не можете изменять значения в узлах списка, могут быть изменены только сами узлы.

Учитывая 1-> 2-> 3-> 4, вы должны вернуть список как 2-> 1-> 4-> 3.

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

def swap(x , y):
  x , y = y , x
  return x , y

class Solution:
    def swapPairs(self, head: ListNode) -> ListNode:

        if(head is None or head.next is None):
            return head

        pair1 = head
        pair2 = head.next

        while(pair1 is not None and pair2 is not None):
                swap(pair1.val,pair2.val)
                if(pair1.next.next is not None and pair2.next.next is not None):
                    pair1 = pair1.next.next 
                    pair2 = pair2.next.next


        return head

Ошибка: превышено ограничение по времени

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...