An integer has sequential digits if and only if each digit in the number is one more than the previous digit.
Return a sorted list of all the integers in the range [low, high] inclusive that have sequential digits.
Example 1:
Input: low = 100, high = 300
Output: [123,234]
Example 2:
Input: low = 1000, high = 13000
Output: [1234,2345,3456,4567,5678,6789,12345]
Constraints:
10 <= low <= high <= 10^9
Solution:
class Solution {
public List<Integer> sequentialDigits(int low, int high) {
int minLen = String.valueOf(low).length();
int maxLen = String.valueOf(high).length();
List<Integer> result = new ArrayList();
for (int len = minLen; len <= maxLen; len ++) {
for (int start = 1; start + len <= 10; start ++) {
int curr = start;
for (int i = 1; i < len; i ++) {
curr = curr * 10 + (start + i);
}
if (curr >= low && curr <= high) {
result.add(curr);
}
}
}
return result;
}
}