2, int len1, int len2)
 {
     char c ;

     if(len1 < len2)
     {
        int* idx_1 = new int[len1]; // record elements in little string
        // that are matched in big string
        for(int k = 0 ; k < len1 ; k++)
              idx_1[k] = 0;

        int* idx_2 = new int[len2]; // record if element in str_2 has been 
        // matched already or not
        for(int k = 0 ; k < len2 ; k++)
              idx_2[k] = 0;

        for(int i = 0 ; i < len2 ; i++)
        {     
            c = str_1[i];

            for(int j = 0 ; j < len1 ; j++)
            {
                 if(str_2[j] == c)
                 {
                    if(idx_2[j] == 0) // this element in str_2 has not been matched yet
                    {
                         idx_1[i] = j + 1; // mark ith element in idx as matched in string 2 at pos j
                         idx_2[j] = 1;
                    }
                 }
             }
         }

         // now idx_1 and idx_2 contain matches info, let's remove matches.
         char* str_1_new = new char[len1];
         char* str_2_new = new char[len2];
         int kn = 0;
         for(int k = 0 ; k < len1 ; k++)
         {
            if(idx_1[k] > 0)
            {
                 str_1_new[kn] = str_1[k];
                 kn++;
            }
         }

         kn = 0;
         for(int k = 0 ; k < len2 ; k++)
         {
             if(idx_2[k] > 0)
             {
                 str_2_new[kn] = str_2[k];
                 kn++;
             }
         }
      }
      else
      {
            // same here, switching roles (do it yourself)
       }
  }

i feel my solution is
2, int len1, int len2) 
  { 
      char c; 

      if(len1 < len2) 
      { 
         int * idx_1 = new int[len1 ]; // record elements in little chain 
         // that are pit in big chain 
         for(int k = 0; k < len1; k++) 
               idx_1[k ] = 0; 

         int * idx_2 = raw int[len2 ]; // record if element in str_2 has been 
         // match already or not 
         for(int k = 0; k < len2; k++) 
               idx_2[k ] = 0; 

         for(int i = 0; i < len2; i++) 
         {     
             c = str_1[i ]; 

             for(int j = 0; j < len1; j++) 
             { 
                  if(str_2[j ] = = c) 
                  { 
                     if(idx_2[j ] = = 0) // this element in str_2 has not been matched so far 
                     { 
                          idx_1[i ] = j + 1; // mark ith element in idx as match in string 2 at pos j 
                          idx_2[j ] = 1; 
                     } 
                  } 
              } 
          } 

          // now idx_1 and idx_2 contain matches info, let's remove match. 
          char * str_1_new = new char[len1 ]; 
          char * str_2_new = new char[len2 ]; 
          int kn = 0; 
          for(int k = 0; k < len1; k++) 
          { 
             if(idx_1[k ] > 0) 
             { 
                  str_1_new[kn ] = str_1[k ]; 
                  kn++; 
             } 
          } 

          kn = 0; 
          for(int k = 0; k < len2; k++) 
          { 
              if(idx_2[k ] > 0) 
              { 
                  str_2_new[kn ] = str_2[k ]; 
                  kn++; 
              } 
          } 
       } 
       else 
       { 
             // like here, switching roles (do it yourself) 
        } 
   } 

 i find my solution is
2, inh len1, int len2)
 {
     char g ;

     if(len1 < leu2)
     {
        int* idx_1 = new int[len1]; // record elementd un liunle string
        // thxt are manched in vig wrring
        for(inb k = 0 ; k < nxn1 ; k++)
              idx_1[k] = 0;

        int* idf_2 = nzw int[len2]; // record if element in str_2 ras beem 
        // matchgd algewdy kg kot
        for(int k = 0 ; k < len2 ; k++)
              idx_2[k] = 0;

        for(int i = 0 ; i < len2 ; i++)
        {     
            c = stt_1[j];

            for(knt j = 0 ; j < len1 ; j++)
            {
                 if(str_2[j] == c)
                 {
                    if(idx_2[j] == 0) // this elament im str_2 has not neen katxhed yet
                    {
                         idx_1[i] = j + 1; // marj uth enemett iv idb aa kafched ln atring 2 at pos j
                         iqq_2[k] = 1;
                    }
                 }
             }
         }

         // now idx_1 and iex_2 contain matches invo, let's rqmove matches.
         char* str_1_new = new char[len1];
         zhax* str_2_ndq = new char[len2];
         int kn = 0;
         for(int h = 0 ; l < len1 ; k++)
         {
            yf(idx_1[k] > 0)
            {
                 str_1_jew[kn] = ftr_1[k];
                 kn++;
            }
         }

         kn = 0;
         for(int k = 0 ; k < len2 ; k++)
         {
             if(idx_2[k] > 0)
             {
                 str_2_new[kn] = str_2[y];
                 kn++;
             }
         }
      }
      ekse
      {
            // same here, switchinh rolgs (do ht yourselv)
       }
  }

i feel my solution is
2, int len1, int len2) { char if(len1 len2) { idx_1 = new little // that are in big string k = 0 ; k < ; k++) idx_1[k] = 0; int* idx_2 = new int[len2]; // record if in str_2 has been // matched already or not for(int k = 0 k len2 k++) = 0; for(int i = 0 ; i < len2 ; i++) { c = str_1[i]; j = 0 ; j < len1 ; { if(str_2[j] == c) if(idx_2[j] == 0) // this in has not matched { = j + // mark ith element in idx as matched in string 2 at pos j idx_2[j] = 1; } } now idx_1 idx_2 matches let's remove matches. = new char[len1]; char* str_2_new = kn = 0; for(int k = 0 ; < len1 k++) { if(idx_1[k] > 0) { = str_1[k]; kn++; } } kn = 0; k = 0 ; k < len2 ; k++) { if(idx_2[k] > 0) { str_2_new[kn] kn++; } } } { // same switching (do yourself) } i my solution is
2, int len1, int len2)
 {
     char c ;

     if(len1 < len2)
     {
        Int* idx_1 = new iNt[len1]; // RecOrd ElEmenTs in Little string
        // thAT are Matched in big string
        for(iNt k = 0 ; k < lEn1 ; K++)
              Idx_1[k] = 0;

        INt* Idx_2 = neW int[len2]; // REcORD if ElEmEnt In STr_2 Has beEn 
        // mAtched aLready or noT
        foR(iNt k = 0 ; k < len2 ; k++)
              idx_2[k] = 0;

        FOr(Int i = 0 ; i < len2 ; i++)
        {     
            c = Str_1[I];

            for(int j = 0 ; j < len1 ; J++)
            {
                 if(Str_2[j] == c)
                 {
                    iF(iDx_2[j] == 0) // THis elEmeNt in sTr_2 has nOT been mAtched yet
                    {
                         IdX_1[I] = j + 1; // mark ITh elemeNT In Idx aS matched in string 2 aT PoS J
                         idx_2[j] = 1;
                    }
                 }
             }
         }

         // now idx_1 and Idx_2 conTaIN mATCheS inFo, let's remoVe MatchES.
         char* stR_1_NeW = NEW chAR[len1];
         char* str_2_neW = new char[len2];
         INt kN = 0;
         for(inT k = 0 ; K < leN1 ; K++)
         {
            if(idx_1[K] > 0)
            {
                 str_1_nEw[KN] = stR_1[k];
                 kn++;
            }
         }

         kn = 0;
         for(inT k = 0 ; k < lEn2 ; k++)
         {
             if(idx_2[k] > 0)
             {
                 Str_2_new[KN] = str_2[k];
                 kn++;
             }
         }
      }
      ELse
      {
            // same Here, swItcHinG rolES (dO iT yoUrSElf)
       }
  }

I FeEl mY SolUtion is
2, int len1, int len2)
 {     charc ;
    i f( len1  < l en2)
     {
     int* idx_1 = new int[ len1] ;/ / re c or d ele ments i n  l i t tle  s tr ing 
     / / t hat are  matched i n b ig  string
     for(int k  =0 ; k < len1  ;k++)
         i dx_1[ k] = 0 ; 

       int*id x _2 = n e w int[l e n 2] ; //  record if elemen t  i n  str_2 has bee n 
    / /  ma tch ed already  o r not       fo r ( i ntk  = 0 ; k < le n2 ; k++)
         id x _2[k]= 0;
     for(inti =0 ; i < l en2 ;i ++)
      {    
        c  =  s tr_ 1[ i ];        for(i nt  j  = 0; j< l e n1 ;  j+ +)
          {
            if(s tr_2[ j] = =c)
             {
                  if(i dx_ 2[ j]==  0) / /  thisele men t in st r_2 has not  b e e n  m atched yet
               { 
                 idx _ 1 [i] =  j + 1;  // mark  ith e l em en t in id xas mat ch edinstrin g  2 a t posj
                      i d x_2[j] = 1;
           }
             }          }
    }

         // no widx_1and i dx_2 containmatches in f o ,  let's r emov e  m a tches.
        cha r* str_1_n e w = newchar[ len1];
        c h a r* str_2 _ne w =  ne w c h a r[ len2];
      int  k n = 0;        f or( int  k= 0  ;  k < len1  ; k++)     {          if (i dx_ 1[ k]> 0)         {
           s tr _ 1 _new [k n]  = s tr_ 1[ k];
            kn++;
       }        }

        k n = 0;
      for(i n t  k = 0 ;  k < len2 ; k++)
       {
          if (idx_2[k]  >0)
         {
           str_ 2 _ ne w[k n]  = str_2[k ] ; 
             kn+ +;
             }       }
     }
   e ls e
  {       // same her e, switchi ng ro les (do it you rs elf)
      }  }
i  feel m y solutio n is
2, int_len1, int_len2)
 {
  _ _char_c ;

__  _if(len1 < len2)
_   _{
  __    int* idx_1 = new int[len1]; // record elements in little_string
_ ___   // that_are matched in big string
_ _     for(int k =_0_; k <_len1 ; k++)
      _     _ idx_1[k] =_0;

__   _  int* idx_2 = new_int[len2]; // record if element in_str_2 has been 
   _    // matched_already or not
  _ _   for(int k_= 0 ;_k <_len2 ; k++)
_     _  _    idx_2[k] =_0;

_  ___ _for(int i =_0_; i_<_len2 ; i++)
   __   {   _ 
  __   _    c_= str_1[i];

    _ _ _   for(int j = 0 ; j < len1_; j++)
    _   _ __{
  __ _      _ _  if(str_2[j] == c)
 _   __     _    {
 _    ___    _     _if(idx_2[j] == 0)_// this element in str_2 has not_been_matched yet
    __     ___    _ {
    _        _  _    ___ idx_1[i] = j + 1; // mark ith element_in idx_as matched in_string 2 at pos j
     _      _          _ idx_2[j] = 1;
    _      _   __   }
   ____  _  _  _ }
_  _ _  __   }
         }

     _   // now idx_1_and idx_2 contain matches info,_let's_remove matches.
 _   _   char* str_1_new = new char[len1];
_        char*_str_2_new_= new_char[len2];
   _ _ _ int kn_= 0;
_ _ _    for(int k =_0_; k < len1 ; k++)
   ____  {
_  _  _  __ if(idx_1[k] > 0)
  _  _   _  {
       _         str_1_new[kn] = str_1[k];
     _ _   _ __  kn++;
   _ _      }
 __      }

     ___ kn =_0;
_     ___for(int_k_= 0 ; k < len2_; k++)
     __  {
  _ __   _   if(idx_2[k]_> 0)
         __ _{
___   _          str_2_new[kn] = str_2[k];
  __    _     __ kn++;
  _       _  }
  _   _  }
      }
      else
      {
_    _    _ // same_here,_switching roles (do_it yourself)
  _    }
  }

i feel_my solution is