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

Reply via email to