javascript - 使用循环查找下一个回文

标签 javascript function for-loop palindrome

我想找到下一个最小的回文,但我不允许使用某些内置函数。所以我创建了这段代码:

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/

相关文章:

javascript - Raphael JS - 使用 SVG 文件

javascript - Webview webapp 广告,如何做到一次正确,跨平台搞定?

Swift:如何修复超出范围时返回 nil 的函数

c - 简化 C 中的嵌套 for 循环

c++ - 将 COM 对象返回给 JScript

javascript - 在 three.js 中围绕它的 y 轴旋转 3D 对象

java - Java 中的指数素因数分解

r - 如何处理 R 中 for 循环中的缺失数据 (NA)

从函数 c 返回二维数组的正确方法

c - 使用函数参数作为变量