From e655a1959f8818ee734f78acb0471a9c049daf51 Mon Sep 17 00:00:00 2001 From: Indradeo Date: Fri, 14 Oct 2022 21:37:43 +0530 Subject: [PATCH] 24- Swap Nodes in Pairs --- .../24- Swap Nodes in Pairs/swapNodesPair.cpp | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Leetcode-Medium/24- Swap Nodes in Pairs/swapNodesPair.cpp diff --git a/Leetcode-Medium/24- Swap Nodes in Pairs/swapNodesPair.cpp b/Leetcode-Medium/24- Swap Nodes in Pairs/swapNodesPair.cpp new file mode 100644 index 0000000..c2e8a5b --- /dev/null +++ b/Leetcode-Medium/24- Swap Nodes in Pairs/swapNodesPair.cpp @@ -0,0 +1,31 @@ +/** + * 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 || !head->next) + return head; + ListNode* dummy = new ListNode(); + + ListNode* prev = dummy; + ListNode* curr = head; + while(curr && curr->next) + { + prev->next = curr->next; + curr->next = prev->next->next; + prev->next->next = curr; + prev = curr; + curr = curr->next; + } + return dummy->next; + + } +}; \ No newline at end of file