Python/알고리즘

[파이썬 알고리즘 인터뷰] 17. 페어의 노드 스왑

AI 꿈나무 2021. 2. 19. 15:06
반응형

 

 이 포스팅은 파이썬 알고리즘 인터뷰를 공부하면서 정리한 내용입니다.

 

 출처 : 파이썬 알고리즘 인터뷰

 코드 출처 : 파이썬 알고리즘 인터뷰 깃허브

 


17. 페어의 노드 스왑

리트코드 24. Swap Nodes in Pairs 문제입니다.

 

 

풀이

1. 노드의 값만 변경하는 풀이입니다.

def swapPaires(self, head):
    node = head
    while node and node.next:
        node.val, node.next.val = node.next.val, node.val
        node = node.next.next
    return head

 

2. 반복 구조로 스왑하는 풀이입니다.

def swapPairs(self, head):
    prev = root = head
    prev.next = head
    
    while head:
        b = head.next
        head.next = b.next
        b.next = head
        
        prev.next = b
        
        head = head.next
        prev = prev.next.next
   
    return root.next
반응형