我想找到下一个最小的回文,但我不允许使用某些内置函数。所以我创建了这段代码:
function reverse(nums) {
var reverse = "";
for (var i = String(nums).length - 1; i >= 0; i--) {
reverse += String(nums)[i];
}
return reverse;
}
function Palindrome(num) {
if (String(num).length < 2) {
return num + 1
}
for (var i = num + 1; i < num + 3; i++) {
if (String(i) === reverse(num)) {
return i
}
}
}
console.log(Palindrome(23)) // 32
第一个函数将反转字符串,第二个函数将找到最近的回文。 在测试用例中,结果应该是 33。
但是当我运行代码时,结果是:
console.log(Palindrome(23))// 32
它只是反转数字。 你能帮我找出我的代码中可能存在的问题吗?
先谢谢了。
最佳答案
正确的代码是:
function reverse(nums) {
var reverse = "";
for (var i = String(nums).length - 1; i >= 0; i--) {
reverse += String(nums)[i];
}
return reverse;
}
function Palindrome(num) {
if (String(num).length < 2) {
return num + 1
}
for (var i = num + 1; ; i++) {
if (String(i) === reverse(i)) {
return i
}
}
}
console.log(Palindrome(23))
你用 num 的逆序代替了 i
关于javascript - 使用循环查找下一个回文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59559706/