我们定义「顺次数」为:每一位上的数字都比前一位上的数字大 1
的整数。
请你返回由 [low, high]
范围内所有顺次数组成的 有序 列表(从小到大排序)。
示例 1:
输出:low = 100, high = 300
输出:[123,234]
示例 2:
输出:low = 1000, high = 13000
输出:[1234,2345,3456,4567,5678,6789,12345]
提示:
10 <= low <= high <= 10^9
C++
class Solution {
public:
vector<int> sequentialDigits(int low, int high)
{
vector<int> res;
string tmp1=to_string(low);
int m=tmp1.size();
string tmp2=to_string(high);
int n=tmp2.size();
for(int k=m;k<=n;k++)
{
for(int i=1;i<=10-k;i++)
{
int val=0;
for(int j=i;j<i+k;j++)
{
val=val*10+j;
}
if(val>=low && val<=high)
{
res.push_back(val);
}
}
}
return res;
}
};