2022년 2월 16일 수요일 - 아니 날씨 버그 걸린듯 핫픽스 필요함


오늘 올려볼 문제는 24번 Swap Nodes in Pairs 이라는 문제이다.


사진을 클릭하면 해당 문제로 이동합니다.

leetcode 문제 사진

오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.

오늘은 살짝 귀찮은 문제였다..


입력


사진에서도 볼 수 있듯이 Linked List 하나가 입력으로 주어진다.



풀이 및 코드


주어진 Linked List에서 인접해 있는 2개의 노드의 위치를 바꾸는 문제이다.


오늘은 처음부터 정답을 생각해냈지만 시행착오를 겪었다.

사실 링크드리스트를 다루는 것이기에 연결만 잘해주면 되는 문제이다.

하지만 바꾼 후 연결을 제대로 하지 못했어서 시행착오를 겪었지만 금방 틀린 부분을 찾아서 문제를 풀었다.


이제 코드를 봐보자!


풀이코드

class Solution {
    public ListNode swapPairs(ListNode head) {
        if(head == null || head.next == null)
            return head;

        ListNode result;

        ListNode first = head, second = head.next;
        first.next = second.next;
        second.next = first;

        result = second;

        head = first;

        while(head != null)
        {
            try
            {
                first = head.next;
                second = head.next.next;
                first.next = second.next;
                second.next = first;

                head.next = second;

                head = first;
            }
            catch(Exception e)
            {
                break;
            }
        }

        return result;
    }
}



제출 화면

leetcode 문제 맞았습니다


오늘은 살짝 귀찮았던 문제였다.

그래도 이런 문제도 풀어야 익숙해지기 때문에 금방 풀었던 것 같다.


내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.

+ Recent posts