Numbers With Same Consecutive Differences LeetCode solution in JavaScript
1/**2* @param {number} n3* @param {number} k4* @return {number[]}5*/6var numsSameConsecDiff = function (n, k) {7let res = [];89const bfs = (num, i) => {10let queue = [];11queue.push(i);12while (queue.length) {13// console.log("queue is ",queue)14i = queue.shift();15if (i <= num) {16if (i.toString().length === n) {17res.push(i);18}19let last_digit = i % 10;2021if (last_digit + k < 10) {22queue.push(i * 10 + (last_digit + k));23}24if (k > 0 && last_digit - k >= 0) {25queue.push(i * 10 + (last_digit - k));26}27}28}29};3031let num = Math.pow(10, n) - 1;32for (let i = 1; i <= 9 && i < num; i++) {33bfs(num, i);34}35return res;36};