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

Reply via email to