@Navneet....take a look at the solution below and tell if there is any bug in it...
*#include <string.h> typedef struct revll { char s[100]; struct revll *next; }revll; revll *rev_str(char *a) { char temp[100]; int i,len=strlen(a),j=0; revll *head,*p; head=NULL; for(i=0;i<len;i++) { if(a[i]!=' ') { temp[j++] = a[i]; } else { temp[j] = '\0'; p = (revll *)malloc(sizeof(revll)); p->next = head; strcpy(p->s,temp); head = p; j=0; } } /*for last word*/ temp[j] = '\0'; p = (revll *)malloc(sizeof(revll)); p->next = head; strcpy(p->s,temp); head = p; return head; } main() { char a[100]; revll *head; gets(a); head = rev_str(a); while(head) { printf("%s->",head->s); head=head->next; } system("pause"); }* On Thu, Jul 7, 2011 at 9:10 AM, Navneet Gupta <navneetn...@gmail.com> wrote: > @Piyush, could you elaborate your approach with Linked List? > From what i am getting, even with Linked List, you would need two > traversals at least. > > On Thu, Jul 7, 2011 at 2:07 AM, Piyush Sinha <ecstasy.piy...@gmail.com> > wrote: > > Can we do it using linked list if ONE TIME TRAVERSAL is a constraint?? > > > > On 7/6/11, Tushar Bindal <tushicom...@gmail.com> wrote: > >> I read that solution. > >> But the same doubt as Navneet which I think you also raised i one of > your > >> posts on that thread > >> > >> On Wed, Jul 6, 2011 at 10:34 PM, Navneet Gupta <navneetn...@gmail.com > >wrote: > >> > >>> Saurabh, > >>> > >>> I understood your solution but wonder if it is purely single traversal > >>> > >>> In affect, you have a second traversal when you are popping the > >>> strings from stack to form the reverse order string. > >>> > >>> Though the second activity is less than O(n) i.e. O(#words in string) > >>> Nice solution, this way we can also get rid of extra spaces easily in > >>> the actual string if that is also to be done. > >>> > >>> On Wed, Jul 6, 2011 at 10:16 PM, saurabh singh <saurab...@gmail.com> > >>> wrote: > >>> > I have proposed my solution in one of the previous posts.Check the > >>> solution > >>> > there > >>> > > >>> > On Wed, Jul 6, 2011 at 10:10 PM, Tushar Bindal < > tushicom...@gmail.com> > >>> > wrote: > >>> >> > >>> >> good job > >>> >> but how can this be done in one traversal as asked on the Adobe > >>> Interview > >>> >> Questions thread. > >>> >> > >>> >> > >>> >> > >>> >> On Wed, Jul 6, 2011 at 9:49 PM, Navneet Gupta < > navneetn...@gmail.com> > >>> >> wrote: > >>> >>> > >>> >>> I think somebody on this thread has asked this question but i am > not > >>> >>> able to find that. > >>> >>> > >>> >>> Question was if a string is like "my name is ram", then output > should > >>> >>> be "ram is name my". > >>> >>> > >>> >>> Wrote the code for same, so sharing. > >>> >>> > >>> >>> #include<iostream> > >>> >>> #include<string> > >>> >>> using namespace std; > >>> >>> > >>> >>> void SwapStringChars(string &str, int pos1, int pos2) > >>> >>> { > >>> >>> char ch = str[pos1]; > >>> >>> str[pos1] = str[pos2]; > >>> >>> str[pos2] = ch; > >>> >>> } > >>> >>> > >>> >>> void reverseString(string &str, int left, int right) > >>> >>> { > >>> >>> for(int i = left ; i <= left + (right-left)/2 ; i++) > >>> >>> SwapStringChars(str, i, right + left -i)); > >>> >>> } > >>> >>> > >>> >>> void reverseWordsInString(string &str) > >>> >>> { > >>> >>> char space = ' '; > >>> >>> int len = str.length(); > >>> >>> int startIndex = 0, endIndex = 0; > >>> >>> while(endIndex < len - 1) > >>> >>> { > >>> >>> while(str[endIndex] != space && endIndex < > >>> len)endIndex++; > >>> >>> reverseString(str, startIndex, endIndex-1); > >>> >>> startIndex = endIndex; > >>> >>> while(str[startIndex] == space)startIndex++; > >>> >>> endIndex = startIndex; > >>> >>> } > >>> >>> } > >>> >>> > >>> >>> int main() > >>> >>> { > >>> >>> string str; > >>> >>> cout<<"\nEnter enter the string :"; > >>> >>> getline(cin,str); > >>> >>> > >>> >>> //Reverse whole string at once > >>> >>> reverseString(str, 0, str.length() - 1); > >>> >>> > >>> >>> //Reverse Individual words in string > >>> >>> reverseWordsInString(str); > >>> >>> cout<<str; > >>> >>> cin.get(); > >>> >>> return 0; > >>> >>> } > >>> >>> > >>> >>> -- > >>> >>> Regards, > >>> >>> Navneet > >>> >>> > >>> >>> -- > >>> >>> You received this message because you are subscribed to the Google > >>> Groups > >>> >>> "Algorithm Geeks" group. > >>> >>> To post to this group, send email to algogeeks@googlegroups.com. > >>> >>> To unsubscribe from this group, send email to > >>> >>> algogeeks+unsubscr...@googlegroups.com. > >>> >>> For more options, visit this group at > >>> >>> http://groups.google.com/group/algogeeks?hl=en. > >>> >>> > >>> >> > >>> >> > >>> >> > >>> >> -- > >>> >> Tushar Bindal > >>> >> Computer Engineering > >>> >> Delhi College of Engineering > >>> >> Mob: +919818442705 > >>> >> E-Mail : tushicom...@gmail.com > >>> >> Website: www.jugadengg.com > >>> >> > >>> >> -- > >>> >> You received this message because you are subscribed to the Google > >>> Groups > >>> >> "Algorithm Geeks" group. > >>> >> To post to this group, send email to algogeeks@googlegroups.com. > >>> >> To unsubscribe from this group, send email to > >>> >> algogeeks+unsubscr...@googlegroups.com. > >>> >> For more options, visit this group at > >>> >> http://groups.google.com/group/algogeeks?hl=en. > >>> > > >>> > > >>> > > >>> > -- > >>> > Saurabh Singh > >>> > B.Tech (Computer Science) > >>> > MNNIT ALLAHABAD > >>> > > >>> > > >>> > -- > >>> > You received this message because you are subscribed to the Google > >>> > Groups > >>> > "Algorithm Geeks" group. > >>> > To post to this group, send email to algogeeks@googlegroups.com. > >>> > To unsubscribe from this group, send email to > >>> > algogeeks+unsubscr...@googlegroups.com. > >>> > For more options, visit this group at > >>> > http://groups.google.com/group/algogeeks?hl=en. > >>> > > >>> > >>> > >>> > >>> -- > >>> Regards, > >>> Navneet > >>> > >>> -- > >>> You received this message because you are subscribed to the Google > Groups > >>> "Algorithm Geeks" group. > >>> To post to this group, send email to algogeeks@googlegroups.com. > >>> To unsubscribe from this group, send email to > >>> algogeeks+unsubscr...@googlegroups.com. > >>> For more options, visit this group at > >>> http://groups.google.com/group/algogeeks?hl=en. > >>> > >>> > >> > >> > >> -- > >> Tushar Bindal > >> Computer Engineering > >> Delhi College of Engineering > >> Mob: +919818442705 > >> E-Mail : tushicom...@gmail.com > >> Website: www.jugadengg.com > >> > >> -- > >> You received this message because you are subscribed to the Google > Groups > >> "Algorithm Geeks" group. > >> To post to this group, send email to algogeeks@googlegroups.com. > >> To unsubscribe from this group, send email to > >> algogeeks+unsubscr...@googlegroups.com. > >> For more options, visit this group at > >> http://groups.google.com/group/algogeeks?hl=en. > >> > >> > > > > > > -- > > *Piyush Sinha* > > *IIIT, Allahabad* > > *+91-8792136657* > > *+91-7483122727* > > *https://www.facebook.com/profile.php?id=100000655377926 * > > > > -- > > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > > To post to this group, send email to algogeeks@googlegroups.com. > > To unsubscribe from this group, send email to > algogeeks+unsubscr...@googlegroups.com. > > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > > > > > > > > -- > Regards, > Navneet > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to algogeeks@googlegroups.com. > To unsubscribe from this group, send email to > algogeeks+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > > -- *Piyush Sinha* *IIIT, Allahabad* *+91-8792136657* *+91-7483122727* *https://www.facebook.com/profile.php?id=100000655377926 * -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.