Log Date

Welcome to techInterview, a site for technical interview questions, brain teasers, puzzles, quizzles (whatever the heck those are) and other things that make you think!





  1. Text post

    Reverse a String

    A typical programming interview question is “reverse a string, in place”. if you understand pointers, the solution is simple. even if you don’t, it can be accomplished using array indices. i usually ask candidates this question first, so they get the algorithm in their head. then i play dirty by asking them to reverse the string word by word, in place. for example if our string is “the house is blue”, the return value would be “blue is house the”. the words are reversed, but the letters are still in order (within the word).

    Solution

    Solving the initial problem of just reversing a string can either be a huge help or a frustrating hinderance. most likely the first attempt will be to solve it the same way, by swapping letters at the front of the string with letters at the back, and then adding some logic to keep the words in order. this attempt will lead to confusion pretty quickly.

    for example, if we start by figuring out that “the” is 3 letters long and then try to put the “t” from “the” where the “l” from “blue” is, we encounter a problem. where do we put the “l” from “blue”? hmm… well we could have also figured out how long “blue” was and that would tell us where to put the “l” at… but the “e” from “blue” needs to go into the space after “the”. argh. its getting quite confusing. in fact, i would be delighted to even see a solution to this problem using this attack method. i don’t think its impossible, but i think it is so complex that it’s not worth pursuing.

    here’s a hint. remember before when we just reversed “the house is blue”? what happened?

    initial: the house is blue
    reverse: eulb si esuoh eht

    look at the result for a minute. notice anything? if you still don’t see it, try this.

    initial: the house is blue
    reverse: eulb si esuoh eht
    wanted : blue is house the

    the solution can be attained by first reversing the string normally, and then just reversing each word.

    1. vstatistic reblogged this from techinterview and added:
      This happened to me today :-(
    2. elite-singapore-escorts-12 reblogged this from techinterview
    3. techinterview posted this

    Notes: 16 notes

Tumblr Theme 'Nautical' by PixelUnion