当前位置: 首页 > wzjs >正文

网站建设网络推广书生牙科医院网站建设

网站建设网络推广书生,牙科医院网站建设,泰州网站建设案例,带动画的网站模板题目描述:整数反转与回文检测 要求实现两个功能: 将输入的整数反转(保留符号,如输入-123返回-321)判断反转后的数是否为回文数(正反读相同) 示例: 输入:123 → 反转结…

题目描述:整数反转与回文检测

要求实现两个功能

  1. 将输入的整数反转(保留符号,如输入-123返回-321
  2. 判断反转后的数是否为回文数(正反读相同)

示例

输入:123 → 反转结果:321 → 非回文数
输入:-121 → 反转结果:-121 → 是回文数

一、算法实现与解析

方法1:字符串操作法(直观解法)

public class NumberUtils {// 整数反转public static int reverseByString(int x) {String str = Integer.toString(x);String reversed = new StringBuilder(str).reverse().toString();try {return x < 0 ? -Integer.parseInt(reversed.substring(0, reversed.length()-1)) : Integer.parseInt(reversed);} catch (NumberFormatException e) {return 0; // 处理溢出情况}}// 回文检测public static boolean isPalindromeString(int x) {return x == reverseByString(x);}
}

特点分析

  • 时间复杂度:O(n),n为数字位数
  • 空间复杂度:O(n),字符串存储额外空间
  • 优点:代码简洁,易于理解
  • 缺点:大数处理可能溢出(需异常捕获)

方法2:数学运算法(高效解法)

public class NumberUtils {// 整数反转(数学法)public static int reverseByMath(int x) {int reversed = 0;while (x != 0) {int digit = x % 10;// 溢出预判if (reversed > Integer.MAX_VALUE/10 || (reversed == Integer.MAX_VALUE/10 && digit > 7)) return 0;if (reversed < Integer.MIN_VALUE/10 || (reversed == Integer.MIN_VALUE/10 && digit < -8)) return 0;reversed = reversed * 10 + digit;x /= 10;}return reversed;}// 回文检测(无额外空间)public static boolean isPalindromeMath(int x) {if (x < 0 || (x % 10 == 0 && x != 0)) return false;int reverted = 0;while (x > reverted) {reverted = reverted * 10 + x % 10;x /= 10;}return x == reverted || x == reverted / 10;}
}

核心优势

  • 时间复杂度:O(log₁₀n),每次循环减少一位
  • 空间复杂度:O(1),无需额外存储结构
  • 创新点:通过数学运算实现反转,避免字符串转换的性能损耗

二、性能对比与工程实践建议

方法执行时间(n=123454321)内存消耗适用场景
字符串法0.02ms2KB快速开发/小数据量
数学法0.005ms0.1KB高并发/大数据量

调优建议

  1. 输入校验:处理非数字字符及边界值(如Integer.MIN_VALUE)
  2. 防御式编程:添加溢出检测逻辑(如方法2中的预判)
  3. 单元测试:覆盖正负数、零、回文数与非回文数等场景
  4. 日志监控:记录反转过程中的异常状态

三、举一反三:算法变形练习

  1. 扩展题1:反转字符串中的数字片段(保留其他字符位置)
    输入:"a12b34c" → 输出:"a43b21c"
  2. 扩展题2:找出1-10000之间的所有回文素数
  3. 挑战题:实现支持大数反转的算法(使用BigInteger)

技术彩蛋:回文数检测算法在验证码生成、数据库主键校验等场景有广泛应用。尝试用位运算实现更高效的反转算法(提示:32位整数的二进制反转)!

http://www.dtcms.com/wzjs/596028.html

相关文章:

  • 鄂州网站设计效果建立全国统一的突发事件信息系统
  • 亚马逊网站运营怎么做网站开发与设计岗位职责
  • 桐乡做网站网站开发成本报表
  • 企业网站seo优ppt做书模板下载网站
  • 德阳住房和城乡建设局网站做电商能赚钱吗
  • 网站设计的性能需求完整的网络营销推广方案包括
  • 网站的域名怎么看网站建设中 倒计时
  • 中国建设劳动学会网站东莞做网站哪家公司好
  • 网站备案找谁程序开发接单
  • 盛泽建设局网站做淘宝客网站域名是别人的
  • 做旅游网站包括哪些栏目网站建设开发价格高吗
  • 电子商务网站建设结论活动策划方案
  • wordpress跳转到不同分站nas可以做视频网站吗
  • 嘉定做网站的wordpress可the7
  • 东莞市专注网站建设怎么样东莞网页制作价格
  • 深圳app网站建设陈俊兵wordpress点餐主题
  • php wap网站实现滑动式数据分页全国村级网站建设
  • 内容分享网站设计网站收录情况
  • 外贸网站建设官网便民工具 网站开发
  • it培训机构哪个好些刷关键词排名seo软件
  • 如何搭建公司内部网站网站建设要备案吗
  • 做现货去哪些网站营销好呢网站功能需求用什么做
  • 网站生成工具二级域名网站有哪些
  • 17做网站官网门户类网站备案
  • 电商网站如何做东莞seo站内优化
  • 深圳证券网站开发网站建设管理规范
  • 星沙做网站宿迁市建设局网站首页
  • 做网站运营需要培训吗深圳网站设计 建设首选
  • 美篇在哪个网站做的wap网站什么意思
  • 电子商务网站与普通网站的区别精准引流推广团队