当前位置:网站首页>Leetcode-9.Palindrome Numbber
Leetcode-9.Palindrome Numbber
2022-06-11 06:56:00 【Eistert】
题目
Palindrome Number
Given an integer x, return true if x is palindrome integer.
An integer is a palindrome when it reads the same backward as forward.
For example, 121 is a palindrome while 123 is not.
Example 1:
Input: x = 121
Output: true
Explanation: 121 reads as 121 from left to right and from right to left.
Example 2:
Input: x = -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.
Example 3:
Input: x = 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
Constraints:
-231 <= x <= 231 - 1
Follow up: Could you solve it without converting the integer to a string?
解法
方法一:字符串反转
public class PalindromeNumber9 {
public static void main(String[] args) {
int a = 121;
boolean palindrome = Solution.isPalindrome(a);
System.out.println(palindrome);
}
/** * 反转字符串 * * @author aiwenwen * @date 11:08 2022/6/10 **/
static class Solution {
static public boolean isPalindrome(int x) {
String revBefore = String.valueOf(x);
StringBuffer strUtil = new StringBuffer();
strUtil.append(revBefore);
String revAfter = strUtil.reverse().toString();
if (revBefore.equals(revAfter)) {
return true;
}
return false;
}
}
}
方法二:反转一半数字
/** * 反转一半数字 * * @author aiwenwen * @date 11:08 2022/6/10 **/
static class Solution2 {
static public boolean isPalindrome(int x) {
/** *特殊情况: * 如上所述,当x<0时,x不是回文数。 * 同样地,如果数字的最后一位是0,为了使该数字为回文, * 则其第一位数字也应该是0 * 只有0满足这一属性 **/
if (x < 0 || (x % 10 == 0 && x != 0)) {
return false;
}
int revertedNumber = 0;
while (x > revertedNumber) {
revertedNumber = revertedNumber * 10 + x % 10;
x /= 10;
}
/** * *当数字长度为奇数时,我们可以通过revertedNumber / 10去除处于中位的数字。 * 例如,当输入为 12321 时,在while循环的末尾我们可以得到 x = 12, revertedNumber = 123, * 由于处于中位的数字不影响回文(它总是与自己相等),所以我们可以简单地将其去除。 **/
boolean b = x == revertedNumber;
boolean b1 = x == revertedNumber / 10;
return b || b1;
}
}
复杂度分析
时间复杂度:O(logn),对于每次迭代,我们会将输入除以 10,因此时间复杂度为 O(logn)。
空间复杂度:O(1)。我们只需要常数空间存放若干变量。
转载
作者:LeetCode-Solution
链接:https://leetcode.cn/problems/palindrome-number/solution/hui-wen-shu-by-leetcode-solution/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
边栏推荐
- 迅为干货 |瑞芯微RK3568开发板TFTP&NFS烧写(上)
- Promise details
- Post exam summary
- Comparison of DOM tags of wechat applet development (native and uniapp)
- Web API、DOM
- fatal: refusing to merge unrelated histories
- 常用问题排查工具和分析神器,值得收藏
- 网狐游戏服务器房间配置约战定制功能实现
- Practice: how to reasonably design functions to solve practical problems in software development (I)
- Shell脚本之启动Nacos服务端
猜你喜欢

572. subtree of another tree

latex 各种箭头/带文字标号的箭头/可变长箭头

品牌定位个性六种形态及结论的重大意义

Check whether the filing information of the medical representative is correct

Saltstack deployment LNMP

Flutter Container组件

UEFI finding PCI devices

Open source cartoon server mango
![Illustration of JS implementation from insertion sort to binary insertion sort [with source code]](/img/e5/1956af15712ac3e89302d7dd73f403.jpg)
Illustration of JS implementation from insertion sort to binary insertion sort [with source code]

Zabbix 监控主机是否在线
随机推荐
WPF data binding (IV)
Handwritten promise [05] - exception capture of promise method and optional parameters of then method implementation
1266_FreeRTOS调度器启动代码实现分析
【LeetCode】-- 17.电话号码的字母组合
迅为干货 |瑞芯微RK3568开发板TFTP&NFS烧写(上)
Grayscale publishing through ingress
JVM from getting started to abandoning 1: memory model
【迅为干货】龙芯2k1000开发板opencv 测试
Text overflow failure
About daily report plan
Shutter restraint container assembly
微信小程序开发(原生和uniapp)DOM标签对比介绍
3.1 测试函数的命名规则
Redux learning (I) -- the process of using Redux
JVM from getting started to giving up 2: garbage collection
About the designer of qtcreator the solution to the problem that qtdesigner can't pull and hold controls normally
Leetcode hot topic 100 topic 11-15 solution
Flat design, blog website (VIII) code source code
[matlab printed character recognition] OCR printed letter + number recognition [including source code 1861]
NPM upgrade: unable to load file c:\users\administrator\appdata\roaming\npm\npm-upgrade ps1