# 1291. Sequential Digits

## Description

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

## Solutions

• class Solution {
public List<Integer> sequentialDigits(int low, int high) {
List<Integer> ans = new ArrayList<>();
for (int i = 1; i < 9; ++i) {
int x = i;
for (int j = i + 1; j < 10; ++j) {
x = x * 10 + j;
if (x >= low && x <= high) {
}
}
}
Collections.sort(ans);
return ans;
}
}

• class Solution {
public:
vector<int> sequentialDigits(int low, int high) {
vector<int> ans;
for (int i = 1; i < 9; ++i) {
int x = i;
for (int j = i + 1; j < 10; ++j) {
x = x * 10 + j;
if (x >= low && x <= high) {
ans.push_back(x);
}
}
}
sort(ans.begin(), ans.end());
return ans;
}
};

• class Solution:
def sequentialDigits(self, low: int, high: int) -> List[int]:
ans = []
for i in range(1, 9):
x = i
for j in range(i + 1, 10):
x = x * 10 + j
if low <= x <= high:
ans.append(x)
return sorted(ans)


• func sequentialDigits(low int, high int) (ans []int) {
for i := 1; i < 9; i++ {
x := i
for j := i + 1; j < 10; j++ {
x = x*10 + j
if low <= x && x <= high {
ans = append(ans, x)
}
}
}
sort.Ints(ans)
return
}

• function sequentialDigits(low: number, high: number): number[] {
const ans: number[] = [];
for (let i = 1; i < 9; ++i) {
let x = i;
for (let j = i + 1; j < 10; ++j) {
x = x * 10 + j;
if (x >= low && x <= high) {
ans.push(x);
}
}
}
ans.sort((a, b) => a - b);
return ans;
}