1~10000之间的所有对称数
数组反转
1 2 3 4 5 6 7 8 9 10 11 | const findPalindromeByReserveArray = () => { const arr = [] for ( let i = 1; i <= 10000; i++){ const str = String(i) const strArr = str.split( '' ) if (str === strArr.reverse().join( '' )){ arr.push(i) } } return arr } |
字符串前后index值比较
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | const findPalindromeByCompareIndex = () => { const arr = [] for ( let i = 1; i <= 10000; i++){ const s = String(i) const length = s.length let startIndex = 0 let endIndex = length - 1 let flag = true while (startIndex < endIndex){ if (s[startIndex] === s[endIndex]){ startIndex++ endIndex-- } else { flag = false break } } if (flag) arr.push(i) } return arr } |
翻转数字方法
1 2 3 4 5 6 7 8 | const reverseNumbers = (num) => { let rev = 0 while (num > 0){ rev = rev * 10 + num % 10 num = Math.floor(num / 10) } return rev } |
使用翻转数字
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | const findPalindrome = (n = 10000) => { const reserveNumber = (num) => { let base = 0 while (num > 0) { base = base * 10 + num % 10 num = Math.floor(num / 10) } return base } const res = [] while (n > 0) { if (reserveNumber(n) === n) res.push(n) n-- } return res } |
1 2 3 4 5 6 7 8 | const isReserveNum = (num = 1234321) => { const s = String(num); for ( let i = 0; i < s.length; i++) { const v = s[i]; if (v !== s[s.length - 1 - i]) return false ; } return true ; }; |
以自己现在的努力程度,还没有资格和别人拼天赋
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)