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.

Reply via email to