当前位置:网站首页>leetcode 9. 回文数
leetcode 9. 回文数
2022-08-11 04:43:00 【_刘小雨】
作者简介:C/C++ 、Golang 领域耕耘者,创作者
个人主页:作者主页
活动地址:CSDN21天学习挑战赛
题目来源: leetcode官网
如果感觉博主的文章还不错的话,还请关注 、点赞 、收藏🧡三连支持一下博主哦~~~
题目描述
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
例如,121 是回文,而 123 不是。
示例1:
输入:x = 121
输出:true
示例2:
输入:x = -121
输出:false
解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入:x = 10
输出:false
解释:从右向左读, 为 01 。因此它不是一个回文数。
🧡 算法分析
三种方法
直接转化字符串进行比较
用的库函数,在面试中可能不推荐,库函数的原理也是一个一个字符进行逆序转化逆序数字在进行比较(推荐)
比较数字的一般字符
上一种方法的优化,不过时间复杂度没有优化
代码实现
class Solution {
public:
bool isPalindrome(int x) {
// 字符串方法
// if(x < 0) return false;
// string t = to_string(x);
// return t == string(t.rbegin(), t.rend()); // 直接初始化t 的翻转字符串
// 转化数字方法
if(x < 0) return false;
int y = x;
long long re = 0;
while(x)
{
re = re * 10 + x % 10;
x /= 10;
}
return re == y;
}
};
class Solution {
public:
bool isPalindrome(int x) {
if (x < 0 || x && x % 10 == 0) return false;
int s = 0;
while (s <= x)
{
s = s * 10 + x % 10;
if (s == x || s == x / 10) return true; // 分别处理整数长度是奇数或者偶数的情况
x /= 10;
}
return false;
}
};
执行结果:
时间复杂度分析
其中数字遍历一次, 时间复杂度为O(n)
如果觉得对你有帮助的话:
点赞,你的认可是我创作的动力!
🧡 收藏,你的青睐是我努力的方向!
️ 评论,你的意见是我进步的财富!
边栏推荐
- send_sig: kernel execution flow
- 增加PRODUCT_BOOT_JARS及类 提供jar包给应用
- (转)JVM中那些区域会发生OOM?
- Jetson Orin platform 4-16 channel GMSL2/GSML1 camera acquisition kit recommended
- js uses the string as the js execution code
- Use Navicat Premium to export database table structure information to Excel
- 蹭个热度-请勿打开
- 嵌入式分享合集33
- shell监视gpu使用情况
- 洛谷P1196 银河英雄传说
猜你喜欢
[Likou] 22. Bracket generation
"104 Maximum Depth of Binary Trees" in LeetCode's Day 12 Binary Tree Series
How to learn machine learning?machine learning process
校园兼职平台项目反思
To break the bottleneck of transactional work, the gentleman signs the electronic contract to release the "source power" of HR!
梅克尔工作室--OpenEuler培训笔记(1)
Where can machine learning be applied?What is machine learning useful for?
获取Qt的安装信息:包括安装目录及各种宏地址
I wrote some code in my resume, but I still can't pass the interview
对象的创建以及显示转换
随机推荐
Mysql:设置主键自动增长起始值
Switch---Spanning Tree---Three-layer Architecture Summary
关于数据分页显示
Snap - rotate the smallest number of an array
map和set--天然的搜索和查找语义
AVH 动手实践 (二) | 在 Arm 虚拟硬件上部署 PP-OCR 模型
Callable实现多线程
视觉任务种常用的类别文件之一json文件
关于pom.xml文件
(转)JVM中那些区域会发生OOM?
获取Qt的安装信息:包括安装目录及各种宏地址
About data paging display
Resize() usage row pit in vector
洛谷P6586 蒟蒻火锅的盛宴
-填涂颜色-
优先级队列
0 Basic software test for career change, self-study for 3 months, 12k*13 salary offer
【服务器安装Redis】Centos7离线安装redis
【人话版】WEB3将至之“权益的游戏”
这些云自动化测试工具值得拥有