10 June 2018

Reverse the words

i/p :guru with learn
o/p: learn with guru

complexity -o(n)


import java.io.*;

class GFG {
       void print(String s)
       {
           System.out.print(reverse(s,0,s.length()-1));
       }
       String reverse(String s,int i,int j)
       {
           char c[]=s.toCharArray();
           while(i<j)
           {
           char t=c[i];
            c[i]=c[j];
            c[j]=t;
            i++;
            j--;
           }return String.valueOf(c);
       }
      void a(String s,int x,int i)
      {
          for(int i=x;i<s.length();i++){
          if(s.charAt(i)==' ')
          {
              s=reverse(s,x,i-1);
              x=i+1;
          }
          if(i==s.length()-1)
          {
              s=reverse(s,x,i);
               print(s);
          }
          }
      }
    public static void main (String[] args) {
        String g=" guru with learn ";
        GFG ob=new GFG();
        ob.a(g,0,0);
      
    }
}

complexity -o(1):


import java.io.*;

class GFG {
       void print(String s)
       {
           System.out.print(reverse(s,0,s.length()-1));
       }
       String reverse(String s,int i,int j)
       {
           char c[]=s.toCharArray();
           while(i<j)
           {
           char t=c[i];
            c[i]=c[j];
            c[j]=t;
            i++;
            j--;
           }return String.valueOf(c);
       }
      void a(String s,int x,int i)
      {
   
          if(s.charAt(i)==' ')
          {
              s=reverse(s,x,i-1);
              x=i+1;
          }
          if(i==s.length()-1)
          {
              s=reverse(s,x,i);
               print(s);
          }
    
          if(i<s.length()-1)
            a(s,x,++i);
        
      }
    public static void main (String[] args) {
        String g=" guru with learn ";
        GFG ob=new GFG();
        ob.a(g,0,0);
      
    }
}

No comments:

Post a Comment