From 33fddbab335ab8dc0ea1b4d9605d1f64e91df6e7 Mon Sep 17 00:00:00 2001 From: tanmay00079 <80565334+tanmay00079@users.noreply.github.com> Date: Fri, 7 Oct 2022 00:39:55 +0530 Subject: [PATCH] Create OddEvenLinkedList.cpp --- Medium/OddEvenLinkedList.cpp | 42 ++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Medium/OddEvenLinkedList.cpp diff --git a/Medium/OddEvenLinkedList.cpp b/Medium/OddEvenLinkedList.cpp new file mode 100644 index 0000000..69f3d4f --- /dev/null +++ b/Medium/OddEvenLinkedList.cpp @@ -0,0 +1,42 @@ +class Solution { +public: + ListNode* oddEvenList(ListNode* head) { + ListNode *OddH=NULL, *OddT=NULL, *EvenT=NULL , *EvenH=NULL; + int count=1; + while(head!=NULL){ + if(count%2==0){ + if(EvenH==NULL){ + EvenH=head; + EvenT=head; + head=head->next; + } + else{ + EvenT->next=head; + EvenT=EvenT->next; + head=head->next; + } + } + else{ + if(OddH==NULL){ + OddH=OddT=head; + head=head->next; + } + else{ + OddT->next=head; + OddT=OddT->next; + head=head->next; + } + } + count++; + } + if(OddH==NULL){ + return EvenH; + } + if(EvenH==NULL){ + return OddH; + } + EvenT->next=NULL; + OddT->next=EvenH; + return OddH; + } +};