Bigger Is Greater Hackerrank Solution C -

void reverse(char *str, int start, int end) while (start < end) swap(&str[start], &str[end]); start++; end--;

// Step 1: Find the pivot for (i = n - 2; i >= 0; i--) if (str[i] < str[i + 1]) break;

void biggerIsGreater(char *str) int n = strlen(str); int i, j; bigger is greater hackerrank solution c

// Step 2: Find the smallest character on right of pivot that is greater than str[i] for (j = n - 1; j > i; j--) if (str[j] > str[i]) break;

int main() int t; scanf("%d", &t);

// Step 3: Swap pivot with that character swap(&str[i], &str[j]);

while (t--) char str[101]; scanf("%s", str); biggerIsGreater(str); void reverse(char *str, int start, int end) while

// Step 4: Reverse the suffix after pivot reverse(str, i + 1, n - 1);

printf("%s\n", str);

if (i < 0) printf("no answer\n"); return;