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

网站建设设计图微信公众号影视网站怎么做

网站建设设计图,微信公众号影视网站怎么做,品牌网站策划,成都公司注册核名官网回文数是指正序(从左向右)和倒序(从右向左)读都相同的整数。例如,121 是回文数,而 -121 和 10 不是。本文将介绍两种解法:字符串转换法和反转一半数字法,并分析它们的复杂度。 解法一…

 

回文数是指正序(从左向右)和倒序(从右向左)读都相同的整数。例如,121 是回文数,而 -121 和 10 不是。本文将介绍两种解法:字符串转换法反转一半数字法,并分析它们的复杂度。


解法一:字符串转换法

思路

将整数转换为字符串,然后使用双指针从两端向中间比较字符是否相同。如果所有字符都相同,则是回文数;否则不是。

步骤
  1. 处理负数:负数直接返回 false(因为有负号)。

  2. 转换为字符串:将整数转为字符串。

  3. 双指针比较

    • 左指针从字符串头部开始,右指针从尾部开始。

    • 依次比较左右指针的字符,若不同则返回 false

    • 若所有字符相同,则返回 true

复杂度
  • 时间复杂度:O(n),其中 n 是数字的位数。需要遍历一半字符串。

  • 空间复杂度:O(n),存储字符串需要额外空间。

    class Solution {public boolean isPalindrome(int x) {// 负数直接返回 falseif (x < 0) {return false;}// 将整数转为字符串String numStr = String.valueOf(x);int left = 0; // 左指针int right = numStr.length() - 1; // 右指针// 双指针向中间移动,比较字符while (left < right) {if (numStr.charAt(left) != numStr.charAt(right)) {return false; // 字符不同,不是回文数}left++;right--;}return true; // 所有字符相同,是回文数}
    }

解法二:反转一半数字法(性能最高的解法)

 反转一半数字法是性能最优的解决方案。它通过数学运算只反转数字的后半部分,并与前半部分比较,避免了字符串转换和完全反转的溢出风险。

算法原理
  1. 处理特殊情况

    • 负数直接返回 false

    • 非零且末位为0的数(如10)直接返回 false

  2. 反转后半部分数字

    • 当剩余数字 > 反转数字时循环

    • 每次取原数字末位拼接到反转数字末尾

    • 原数字移除末位

  3. 比较两部分

    • 偶数位:反转部分 == 剩余数字

    • 奇数位:反转部分/10 == 剩余数字(忽略中间位)

性能分析
  • 时间复杂度:O(log₁₀n)

    • 循环次数 = 数字位数/2

    • 例如:12321 只需循环2次

  • 空间复杂度:O(1)

    • 仅使用常数级变量

class Solution {public boolean isPalindrome(int x) {/* 特殊情况处理:1. 负数不可能是回文数2. 非零数末位为0时不是回文数(因为数字开头不能是0) */if (x < 0 || (x % 10 == 0 && x != 0)) {return false;}int reversedHalf = 0; // 存储反转的后半部分数字// 当剩余数字 > 反转部分时继续循环while (x > reversedHalf) {// 将x的末位拼接到reversedHalf末尾reversedHalf = reversedHalf * 10 + x % 10;// 移除x的末位x /= 10;}/* 比较两部分:1. 偶数位数:x == reversedHalf2. 奇数位数:x == reversedHalf/10(忽略中间位) */return x == reversedHalf || x == reversedHalf / 10;}
}
优势说明
  1. 最优时间复杂度:仅需 O(log₁₀n) 时间

  2. 常数空间:无额外数据结构

  3. 避免溢出:只反转一半数字,确保不会溢出

  4. 数学运算高效:除法和取模操作是CPU基础指令

边界处理
  • 最大整数测试:2147483647 → 非回文数

  • 最小负数测试:-2147483648 → 直接返回false

  • 零处理:0 → 满足x==reversedHalf(0==0)

  • 末位零处理:10/20/100等 → 开头检测直接返回false


文章转载自:

http://EtFa2nfX.xwrhk.cn
http://S2yslx9h.xwrhk.cn
http://B4l2bBAX.xwrhk.cn
http://0u5O57yQ.xwrhk.cn
http://WH5aEZDR.xwrhk.cn
http://ZeQJjC4E.xwrhk.cn
http://6ljcEdcb.xwrhk.cn
http://ltIHHVdU.xwrhk.cn
http://qRNheev6.xwrhk.cn
http://MaSrSm4l.xwrhk.cn
http://y6xXZkMG.xwrhk.cn
http://c1g02IIE.xwrhk.cn
http://p6FtnBCl.xwrhk.cn
http://kevQMTnq.xwrhk.cn
http://Xvm5d5Ha.xwrhk.cn
http://31puxhHW.xwrhk.cn
http://UTsvBxEo.xwrhk.cn
http://MS3TRGm0.xwrhk.cn
http://eWWFTurG.xwrhk.cn
http://IIsqWG8N.xwrhk.cn
http://32wUlLdb.xwrhk.cn
http://kR41duMX.xwrhk.cn
http://WOjNDUu7.xwrhk.cn
http://HUK2GwpJ.xwrhk.cn
http://1v5dkhuP.xwrhk.cn
http://m1TSvDoj.xwrhk.cn
http://cbrxwC6j.xwrhk.cn
http://lR05sf2x.xwrhk.cn
http://vktM5A3j.xwrhk.cn
http://5gDGbQ37.xwrhk.cn
http://www.dtcms.com/wzjs/770066.html

相关文章:

  • 怎么用源代码做网站烟台网站建设团队
  • 做灯箱到哪个网站找业务那里有做像美团的网站的
  • 网站建设亿玛酷专注绍兴建设局网站
  • 创意+wordpress主题有谁知道网站优化怎么做
  • 大网站wordpress 新编辑器
  • 网站建设功能报自己在家开网站做推广
  • 有没有建筑学做区位分析的网站制作一个景点的网站
  • 上海网站建设上海迈歌天津市建设厅建筑业信息网
  • 400网站推广装潢设计用什么软件
  • 网站运营成功案例宁波品牌网站公司排名
  • 网站免费空间申请pinterest官网入口
  • 外贸网站如何做seo备案的博客网站可以做别的吗
  • 阿里巴巴建设电子商务网站目的咚咚抢网站怎么做的
  • 云计算存储网站建设安全成都最好的设计公司
  • 舞钢市城市建设局网站网页翻译不了中文
  • 网站建设项目进度表网页美工设计课程教案
  • seo是做网站源码还是什么自己用钢管做里闪弹枪视频和照网站
  • 企业为什么要建设电子商务网站成都手机网站建设报价表
  • 医院网站建设的目的南京网站建设cnee
  • 网站建设app开发 微信小程序 网站开发 自动脚本浙江创都建设有限公司网站
  • 一个综合网站上线多少钱中工信融做网站怎么样
  • 做网站建设哪家公司好代写文章哪里找写手
  • 栖霞网站定制自学前端怎么学
  • 西安网站设计哪家公司好请人做网站 说我要求多
  • 深圳自适应网站开发怎么判断是不是外包公司
  • 惠州模板网站做窗帘的网站
  • 遵义网站制作如何收费广州协会网站建设
  • wordpress vps建站南宁网站建设公司怎么接单
  • 公司网站修改怎么做个人建网站允许吗
  • 购物网站建设和使用产品网络推广的方法