Advertisement
jibha

Untitled

Feb 13th, 2022
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.50 KB | None | 0 0
  1. /**
  2.  * Definition for singly-linked list.
  3.  * struct ListNode {
  4.  *     int val;
  5.  *     ListNode *next;
  6.  *     ListNode() : val(0), next(nullptr) {}
  7.  *     ListNode(int x) : val(x), next(nullptr) {}
  8.  *     ListNode(int x, ListNode *next) : val(x), next(next) {}
  9.  * };
  10.  */
  11. class Solution {
  12. public:
  13.     ListNode* partition(ListNode* head, int x) {
  14.        
  15.         if(head==nullptr){
  16.             return nullptr;
  17.         }
  18.        
  19.         vector<int> lesser;
  20.         vector<int> greater;
  21.        
  22.         auto iter=head;
  23.         while(iter!=nullptr){
  24.            
  25.             if(iter->val<x){
  26.                 lesser.push_back(iter->val);
  27.             }else{
  28.                 greater.push_back(iter->val);
  29.             }
  30.             iter=iter->next;
  31.         }
  32.        
  33.         ListNode* ans;
  34.        
  35.         ListNode* tail;
  36.         ans=tail;
  37.         int g_i=0;
  38.         if(lesser.size()!=0){
  39.             tail=new ListNode(lesser[0]);
  40.         }else{
  41.             g_i=1;
  42.             tail=new ListNode(greater[0]);
  43.         }
  44.        
  45.         for(int i=1;i<lesser.size();i++){
  46.             cout<<lesser[i]<<' ';
  47.             ListNode* node=new ListNode(lesser[i]);
  48.             tail->next=node;
  49.             tail=tail->next;
  50.         }
  51.        
  52.         for(;g_i<greater.size();g_i++){
  53.             cout<<greater[g_i]<<' ';
  54.             ListNode* node=new ListNode(greater[g_i]);
  55.             tail->next=node;
  56.             tail=tail->next;
  57.         }
  58.        
  59.         return ans;
  60.        
  61.     }
  62. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement