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