From da63dcb16bda368e33cc3531e6e0f90444c5d97b Mon Sep 17 00:00:00 2001 From: Sainnhe Park Date: Mon, 14 Nov 2022 11:57:10 +0800 Subject: [PATCH] s0024 --- include/s0024_swap_nodes_in_pairs.hpp | 17 +++++++++++++++++ src/s0024_swap_nodes_in_pairs.cpp | 11 +++++++++++ 2 files changed, 28 insertions(+) create mode 100644 include/s0024_swap_nodes_in_pairs.hpp create mode 100644 src/s0024_swap_nodes_in_pairs.cpp diff --git a/include/s0024_swap_nodes_in_pairs.hpp b/include/s0024_swap_nodes_in_pairs.hpp new file mode 100644 index 0000000..88e0a0b --- /dev/null +++ b/include/s0024_swap_nodes_in_pairs.hpp @@ -0,0 +1,17 @@ +#ifndef S0024_SWAP_NODES_IN_PAIRS +#define S0024_SWAP_NODES_IN_PAIRS + +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); +}; + +#endif diff --git a/src/s0024_swap_nodes_in_pairs.cpp b/src/s0024_swap_nodes_in_pairs.cpp new file mode 100644 index 0000000..3a59528 --- /dev/null +++ b/src/s0024_swap_nodes_in_pairs.cpp @@ -0,0 +1,11 @@ +#include "s0024_swap_nodes_in_pairs.hpp" + +ListNode* swapPairs(ListNode* head) { + if (head == nullptr || head->next == nullptr) { + return head; + } + ListNode *newHead = head->next; + head->next = swapPairs(newHead->next); + newHead->next = head; + return newHead; +}