리트코드 / 페어의 노드 스왑

박성완·2021년 8월 7일
0

문제

링크 https://leetcode.com/problems/swap-nodes-in-pairs/

Given a linked list, swap every two adjacent nodes and return its head. You must solve the problem without modifying the values in the list's nodes (i.e., only nodes themselves may be changed.)

*Example 1
Input: head = [1,2,3,4]
Output: [2,1,4,3]

*Example 2:
Input: head = []
Output: []

*Example 3:
Input: head = [1]
Output: [1]

풀이1

class Solution:
    def swapPairs(self, head: Optional[ListNode]) -> Optional[ListNode]:
        node=head
        
        while node:
            if (not node.val and node.val!=0) or not node.next: break
            else:
                node.val,node.next.val = node.next.val,node.val
            node=node.next.next
            
        return head

로직

val, next.val을 이용한 직접 스왑

0개의 댓글