/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public:
ListNode* swapPairs(ListNode* head) {
if(head == NULL || head->next == NULL){
return head;
}
ListNode* next = head->next;
ListNode* answer = head->next;
head->next = next->next;
next->next = head;
next = head->next;
while(head->next != NULL && next->next != NULL){
next = head->next;
head->next = next->next;
head = head->next;
next->next = head->next;
head->next = next;
head = head->next;
next = head->next;
}
return answer;
}
};
노드만으로 해결
'공부 > 알고리즘' 카테고리의 다른 글
2021 카카오 코딩테스트 신규 아이디 추천 c++ solution (0) | 2021.09.09 |
---|---|
HackerRank Bigger is Greater c++ solution (0) | 2021.09.07 |
프로그래머스 가장 큰 수 c++ solution (0) | 2021.09.05 |
프로그래머스 위장 c++ solution (0) | 2021.09.05 |
leetcode 5. Longest Palindromic Substring c++ (0) | 2021.04.19 |