#556

Next Greater Element III

medium · verified · 35.2% accepted · 3,932 likes · top 13%

math · two pointers · string

⊣ practice⊣ quiz⊣ open on leetcode ↗

Description

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.

Example 1:

Input: n = 12
Output: 21

Example 2:

Input: n = 21
Output: -1

Solution