Pergunta de entrevista da empresa Amazon

Reverse a String eg: I am a boy ans : boy a am I

Respostas da entrevista

Sigiloso

21 de fev. de 2012

int main() { char s[] = "I am a boy"; char a[20][20]; int i=0; char *result = strtok(s, " "); if (result) strcpy(a[i++], result); while (result != NULL) { result = strtok(NULL, " "); if (result) strcpy(a[i++], result); } while (i != -1) printf("%s ", a[--i]); return 0; }

Sigiloso

22 de fev. de 2012

Here is an idea: char *reverse_words(char *string) { char *duplicate = strdup(string); int length = strlen(duplicate); int last_non_whitespace_index = 0; int word_length = 0; for(int i = 0; i < length; i++) { if (i < length / 2) swap_char(duplicate, i, length - 1 - i); if(duplicate[i] == ' ') { word_length = i - last_non_whitespace_index; for(int j = 0; j < word_length / 2; j++) { swap_char(duplicate, last_non_whitespace_index + j, i - 1 - j); } last_non_whitespace_index = i + 1; } } return duplicate; }

Sigiloso

28 de fev. de 2016

public static string reverseString(string str) { if(str == null) { return null; } else if(str.Length < 2) { return str; } return reverseString(str.Substring(1)) + str[0]; }

Sigiloso

8 de jun. de 2017

RUBY a = "I am a boy" b = a.split(" ") len = b.length for i in 1..len print "#{b[-i]} " end