yea, expression " ".join((sys.argv[1].split())[::-1]) will return the string!!
On Thu, Jul 7, 2011 at 3:36 PM, Navneet Gupta <navneetn...@gmail.com> wrote: > @Vishal, > > Don't confuse printing in reverse with actually modifying the actual > string to reverse word order in it :) > > On Thu, Jul 7, 2011 at 3:34 PM, Vishal Thanki <vishaltha...@gmail.com> wrote: >> @Navneet, it works with multiple spaces between words.. And here is >> the two line solution :) >> >> import sys >> print " ".join((sys.argv[1].split())[::-1]) >> >> >> >> On Thu, Jul 7, 2011 at 3:12 PM, Navneet Gupta <navneetn...@gmail.com> wrote: >>> @Vishal, can you see if your program works well for more than single >>> space between words? Not sure how split functions helps. >>> >>> BTW, Perl also is very strong language for string manipulations. >>> (Specially designed for efficient string operations) >>> >>> On Thu, Jul 7, 2011 at 2:48 PM, Vishal Thanki <vishaltha...@gmail.com> >>> wrote: >>>> Off Topic: >>>> Sorry for the diversion, but I was just wondering how easy it has >>>> become to code in languages other than c. Here is the code i wrote for >>>> the above mentioned problem in Python. It takes command line arg as >>>> string. something like >>>> >>>> vishal@ubuntu:~/progs/python\ 02:45:07 PM >$ cat rev.py >>>> #!/usr/bin/python >>>> import sys >>>> strn="" >>>> for i in (sys.argv[1].split())[::-1]: >>>> strn+=i+" " >>>> print strn >>>> >>>> vishal@ubuntu:~/progs/python\ 02:45:09 PM >$ ./rev.py "This is a new world" >>>> world new a is This >>>> >>>> vishal@ubuntu:~/progs/python\ 02:47:15 PM >$ >>>> >>>> >>>> >>>> >>>> >>>> On Thu, Jul 7, 2011 at 1:19 PM, Piyush Sinha <ecstasy.piy...@gmail.com> >>>> wrote: >>>>> @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. >>>>> >>>> >>>> -- >>>> 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. >>> >>> >> >> -- >> 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. > > -- 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.