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;