@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.

Reply via email to