Given a positive integer n, find the smallest integer which has exactly the same digits existing in the integer n and is greater in value than n. If no such positive integer exists, return -1.
Note that the returned integer should fit in 32-bit integer, if there is a valid answer but it does not fit in 32-bit integer, return -1.
Examples
Example 1
Input: n = 12
Output: 21
Example 2
Input: n = 21
Output: -1
Constraints
1 <= n <= 231 - 1
556. Next Greater Element III
Medium
30 Points
Math
Two Pointers
String
Given a positive integer n, find the smallest integer which has exactly the same digits existing in the integer n and is greater in value than n. If no such positive integer exists, return -1.
Note that the returned integer should fit in 32-bit integer, if there is a valid answer but it does not fit in 32-bit integer, return -1.
Examples
Example 1
Input: n = 12
Output: 21
Example 2
Input: n = 21
Output: -1
Constraints
1 <= n <= 231 - 1
Next Greater Element III - Practice Coding | SlaveCode