尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

LeetCode 9 回文数 - 反转一半

LeetCode 9 回文数 - 反转一半 LeetCode 9 回文数判断整数是否回文。反转整个数怕溢出只反转一半。 回文数判断整数是否回文。121 → true-121 → false10 → false负数肯定不是回文符号位。末尾是 0 的非零数也不是最高位不可能是 0。剩下用第 7 题的反转思路但不用全反转——反转后半段数字跟前半段比。比如 1221反转后一半 12 得到 12跟前一半 12 相等。奇数位如 12321后一半反转得 123前一半是 12123/10 12就对了。publicbooleanisPalindrome(intx){if(x0||(x!0x%100))returnfalse;intreversed0;while(xreversed){// x 不断缩小reversed 不断变大reversedreversed*10x%10;x/10;}returnxreversed||xreversed/10;// 偶数位 / 奇数位}循环条件x reversed是什么意思当原数 x 小于反转数 reversed 时说明已经过头了——已经处理了超过一半的位数。此时 x 存的是前一半reversed 是后一半的反转。奇数时 x 比 reversed 少一位所以还要判断reversed / 10。这道题你踩过什么坑或者你用别的语言实现过吗评论区聊聊回头复习也方便翻。
返回列表