使用 javascript 和递归的回文创建器

Palindrome creator using javascript and recursion

我需要创建一个函数,它接受一个数字和 returns 这个数字的回文,通过求和它的反向数字。例如312 + 213 = 525。但更重要的是,我必须在这种情况下使用递归。

并且,例如,数字 96 需要大约 4 次迭代才能变成 4884。

你可以

  • 获取号码
  • 将数字转换为字符串
  • 获取数字数组
  • 反转数组
  • 加入数组
  • 转换为数字
  • 添加到原始数量
  • 将总和转换为字符串
  • 遍历字符串并检查开头的值是否等于结尾的值
    • if true return with sum
    • if false call function again with sum <-- 这是递归部分。

该策略已在其他评论中进行了解释。这是实现您的目标的示例递归 JS 实现:

// Keeps recursively addding the reverse number until a palindrome
// number is obtained
function findPalindrome(num) {
    numStr = num.toString();
    revNumStr = numStr.split("").reverse().join("");
    if (numStr === revNumStr) { // True if palindrome
        return num;
    } else { // Recursive part
        return findPalindrome(num + parseInt(revNumStr))
    }
}

console.log(findPalindrome(312));
console.log(findPalindrome(213));
console.log(findPalindrome(96));