
LeetCode Palindrome Number
检查是否为负数:如果x是负数,直接返回false。 单独的0是回文数:如果x等于0,直接返回true。 确定数位数:计算x的数位数量,这可以通过将x不断除以10来完成。 分割高位和低位:逐步分割高位和低位,比较它们是否相等。一旦发现高位和低位不相等,就返回false。 继续分割内部数:如果高位和低位相等,继续分割内部的数,直到处理完所有位或中间交替缩小范围。 负数检查:立即返回false。 单独0检查:直接返回true。 计算数位数量:通过除以10来计算数字的位数c。 分割高位和低位:通过计算最高位(h)和最低位(l),比较它们是否相同。 缩小范围:不断缩小数的范围,直到中间的位数为止,确保每一步都正确。
发布日期:2025-04-05 01:27:49
浏览次数:12
分类:精选文章
本文共 1441 字,大约阅读时间需要 4 分钟。
判断一个整数是否为回文数是一个经典的问题。回文数是指一个数从左到右读和从右到左读都是一样的。例如,121和12321都是回文数。但负数肯定不可能成为回文数,因为它们会有不同的符号。因此,我们首先排除了负数的情况。
处理步骤:
通过这种方法,我们可以高效且在O(log n)的时间复杂度内解决问题,同时不在额外的空间中使用数据结构。
代码实现:
public class Solution { public boolean isPalindrome(int x) { // 负数不可能是回文数 if (x < 0) { return false; } // 0本身是回文 if (x == 0) { return true; } // 允许x为0吗?在这种情况下,0已经处理 int c = 0; int original = x; // 计算数字位数 while (original != 0) { original /= 10; c++; } // 如果x是0或者1位数,直接返回true if (c < 2) { return true; } int num = x; // 从两边向中间缩小范围 while (c > 1) { // 取出最低位 int l = num % 10; // 取出最高位 int h = num / (int) Math.pow(10, c - 1); // 比较高位和低位 if (h != l) { return false; } // 减少一位 c--; // 去掉已经处理的最高位和最低位 num /= 10; num /= 10; } // 没有遍历完或者剩下的是单数位数 return true; }}
解释:
这种方法逐层分割数字,确保了在O(log n)的时间复杂度内完成任务,同时不在内存中使用额外的空间。
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月23日 14时28分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
2025版最新Bash Shell入门指南,零基础入门到精通,收藏这篇就够了
2023-01-25
2025版最新C++快速入门(适合小白)零基础入门到精通,收藏这篇就够了
2023-01-25
2025版最新关于HW护网行动的一些知识,零基础入门到精通,收藏这篇就够了
2023-01-25
2025版最新大模型学习路线,零基础入门到精通,收藏这篇就够了
2023-01-25
2025版最新大模型开发流程(非常详细)零基础入门到精通,收藏这一篇就够了
2023-01-25
2025版最新大模型微调方法(非常详细)零基础入门到精通,收藏这篇就够了
2023-01-25
2025版最新大语言模型的指令微调,零基础入门到精通,收藏这篇就够了
2023-01-25
2025版最新小白学习大模型:什么是大模型?零基础入门到精通,收藏这篇就够了
2023-01-25
2025版最新常用黑客工具之【Nmap 教程基础】零基础入门到精通,收藏这篇就够了
2023-01-25
2025版最新渗透测试和黑客工具列表,零基础入门到精通,收藏这一篇就够了
2023-01-25
2025版最新网络安全等级保护测评指南,零基础入门到精通,收藏这篇就够了
2023-01-25
2025版最新运维怎么转行网络安全?零基础入门到精通,收藏这篇就够了
2023-01-25
2025版最新黑客学习网站(非常详细),零基础入门到精通,看这一篇就够了
2023-01-25
2025版网络工程11个高含金量证书(非常详细)零基础入门到精通,收藏这篇就够了
2023-01-25
2025自学成为黑客必读的5本书籍,带你从小白进阶成大佬
2023-01-25
23张图告诉你组建一个网络需要用到哪些硬件设备?路由器、交换机、防火墙是不是就够了?
2023-01-25
#12 btrfs文件系统
2023-01-25
#3194. 去月球
2023-01-25
$scope angular在controller之外调用
2023-01-25