Bloomberg LP Interview Question
Software Engineer / Developersvoid ReverseWords (char str[])
{
int start = 0, end = 0, length;
length = strlen(str);
while (end < length) {
if (str[end] != ' ') { /* Skip non-word characters */
start = end;
while (end < length && str[end] != ' ') end++;
end--;
ReverseString(str, start, end);
}
end++; /* Advance to next token */
}
return;
}
void ReverseString (char str[], int start, int end)
{
char temp; while (end > start) {
/* Exchange characters */
temp = str [start];
str [start] = str [end] ;
str [end] = temp;
/* Move indices towards middle */ start++; end--;
}
return;
}
using namespace std;
int main()
{
const char * word="Hello How are you doing";
int size=strlen(word);
char * newWord =static_cast<char *>(malloc(size+1));
int j=0;
for (int i = size-1; i >=0; --i)
{
newWord[j]=word[i];
j++;
}
int newWordsize=strlen(newWord);
cout << word << "\n" << newWord << endl;
return 0;
}
char *revcopy(char *s)
- knakov April 12, 2007{
int i, len = strlen(s);
char *ret;
ret = malloc(len+1);
for (i = 0; i < len; i++)
ret[i] = s[len-i-1];
ret[i] = 0;
return ret;
}