blob: 0602ce14b80abe245d4a25e3567b0fd0985c55a6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#include "leetcode.h"
class Solution {
public:
vector<int> numsSameConsecDiff(int n, int k) {
vector<int> ans;
for (int i = 1; i < 10; i++)
findNum(i, n, k, ans);
return ans;
}
private:
int digits(int x) {
int count = 0;
while (x) {
count++;
x /= 10;
}
return count;
}
void findNum(int curr, int n, int k, vector<int> &ans) {
if (digits(curr) == n) {
ans.push_back(curr);
return;
}
for (int i = 0; i < 10; i++) {
int last = curr % 10;
if (abs(last - i) == k)
findNum((curr * 10 + i), n, k, ans);
}
}
};
|