( 字符串) 9. 回文数 ——【Leetcode每日一题】

news/2023/12/5 23:48:55

❓9. 回文数

难度:简单

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false

回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

  • 例如,121 是回文,而 123 不是。

示例 1:

输入:x = 121
输出:true

示例 2:

输入:x = -121
输出:false
解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:

输入:x = 10
输出:false
解释:从右向左读, 为 01 。因此它不是一个回文数。

提示:

  • − 2 31 < = x < = 2 31 − 1 -2^{31} <= x <= 2^{31} - 1 231<=x<=2311

进阶: 你能不将整数转为字符串来解决这个问题吗?

💡思路:

法一:

  • 转化为字符串

法二:进阶

  • 反转一半数字
  • 将整数分成左右两部分,右边那部分需要转置,然后判断这两部分是否相等。

🍁代码:(Java、C++)

法一:
Java

class Solution {public boolean isPalindrome(int x) {if(x < 0) return false;String s = String.valueOf(x);for(int i = 0, j = s.length() - 1; i < j; i++, j--){if(s.charAt(i) != s.charAt(j)) return false;}return true;}
}

C++

class Solution {
public:bool isPalindrome(int x) {if(x < 0) return false;string s = to_string(x);for(int i = 0, j = s.size() - 1; i < j; i++, j--){if(s[i] != s[j]) return false;}return true;}
};

法二:
Java

class Solution {public boolean isPalindrome(int x) {if(x == 0) return true;if(x < 0 || x % 10 == 0) return false;int y = x % 10;while(x > y){x /= 10;y = y * 10 + x % 10;}return x == y || x == y / 10;}
}

C++

class Solution {
public:bool isPalindrome(int x) {if(x == 0) return true;if(x < 0 || x % 10 == 0) return false;int y = x % 10;while(x > y){x /= 10;y = y * 10 + x % 10;}return x == y || x == y / 10;}
};

🚀 运行结果:

在这里插入图片描述

🕔 复杂度分析:

  • 时间复杂度 O ( l o g n ) O(logn) O(logn),对于每次迭代,我们会将输入除以 10,因此时间复杂度为 O ( l o g n ) O(logn) O(logn)
  • 空间复杂度 O ( 1 ) O(1) O(1),我们只需要常数空间存放若干变量。

题目来源:力扣。

放弃一件事很容易,每天能坚持一件事一定很酷,一起每日一题吧!
关注我 leetCode专栏,每日更新!

注: 如有不足,欢迎指正!


http://www.ppmy.cn/news/58736.html

相关文章

ChatGPT带你一起了解C语言中的宏定义

在C语言中&#xff0c;宏定义是一种预处理器指令&#xff0c;它使用#define关键字将标识符或表达式绑定到一个字符串或另一个表达式上。在预处理器处理源代码之前&#xff0c;宏定义会在源代码中被展开。展开的结果可以是一个简单的字符串替换或者一个更复杂的表达式替换。 以…

Java 中的包是什么?如何创建和使用包?(八)

Java 中的包是一种组织类和接口的机制&#xff0c;可以将相关的类和接口放在同一个包内&#xff0c;以便更好地管理和组织它们。包提供了一种避免名称冲突和重复的方法&#xff0c;同时也可以用来控制访问权限和保护代码。 在本文中&#xff0c;我们将介绍 Java 中的包&#x…

fastai2 实现SSD

https://github.com/search?qfastaissd 有几个值得参考的代码&#xff0c;好好学习。 GitHub - Samjoel3101/SSD-Object-Detection: I am working on a SSD Object Detector using fastai and pytorch fastai2实现的SSD&#xff0c;终于找到了code。https://github.com/sidrav…

AcWing 730. 机器人跳跃问题(二分)

机器人正在玩一个古老的基于 DOS 的游戏。 游戏中有 N1 座建筑——从 0 到 N 编号&#xff0c;从左到右排列。 编号为 0 的建筑高度为 0 个单位&#xff0c;编号为 i 的建筑高度为 H(i) 个单位。 起初&#xff0c;机器人在编号为 0 的建筑处。 每一步&#xff0c;它跳到下一个&…

【LeetCode】583. 两个字符串的删除操作

583. 两个字符串的删除操作&#xff08;中等&#xff09; 思路 这道题的状态定义和 1143. 最长公共子序列 相同&#xff0c;「定义一个 dp 数组&#xff0c;其中 dp[i]表示到位置 i 为止的子序列性质&#xff0c;并不是必须以 i 结尾」&#xff0c;此时 dp 数组的最后一位即为…

北天的一年创作纪念日

文章目录 北天的一年创作纪念日机缘收获日常成就憧憬 北天的一年创作纪念日 机缘 我加入CSDN快三年了&#xff0c;但实际使用CSDN也只有这一年的创造时间&#xff0c;之前只知道C站是中国最大的程序员创作平台&#xff0c;也有幻想过自己成为一个大博主&#xff0c;但一直碍于…

外链跳转页功能分析与实现

一个大型的正规网站&#xff0c;增加一个 外链中转页 是有必要的。合理的交互设计&#xff0c;不仅能有效保障用户体验&#xff0c;又能帮助网站收集外链数据&#xff0c;优化运营管理。 目录 1、为什么使用跳转页面来管理外链 1.1、安全性 1.2、搜索引擎优化 1.3、外链数据…

辅助驾驶功能开发-功能规范篇(16)-2-领航辅助系统NAP-巡航跟车基础功能

接上篇博文 2.3.2.巡航跟车基础功能 巡航跟车基础功能介绍辅助驾驶系统的车速设定,车间时距设定,纵向定速巡航、跟车加减速、起停,横向居中控制,弯道控制等逻辑。 前置条件: (1)NOA功能激活; 2.3.2.1.车速调节 1)激活时初始显示 中控屏设置界面有“融合限速设置”的开…

SpringBoot+vue文件上传下载预览大文件分片上传文件上传进度

文章目录 学习链接上传文件前端后端代码 下载文件a标签下载前端代码后台代码 动态a标签下载前端代码 axios 动态a标签前端代码 浏览器直接输入 预览文件前端代码后端代码 分片上传前后端分别md5加密spark-md5commons-codec 分片上传实现1前端代码后端代码 分片上传实现2前端代…

来上海一个月的记录、思考和感悟

作者 | gongyouliu 编辑 | gongyouliu 从4月3号早上来上海&#xff0c;到今天差不多整整一个月了&#xff0c;也是自己正式从杭州离职创业&#xff08;我更愿意称之为自由职业者&#xff0c;毕竟我没有招聘全职员工&#xff0c;有两个朋友业余时间在帮我&#xff09;的第一个月…

Java Web应用开发 ——第四章:JavaBean技术测验

一.单项选择题&#xff08;共13题,55.9分&#xff09; 1 在 JSP 中调用 JavaBean 时不会用到的标记是&#xff1a;&#xff08; &#xff09; A、 < jsp:javabean> B、 < jsp:useBean> C、 < jsp:setProperty> D、 < jsp:getProperty> 正确答案&a…

Linux下进程间通信

Linux下进程间通信 进程间通信的目的进程间通信的手段的分类管道什么是管道管道原理匿名管道创建匿名管道文件匿名管道的特点匿名管道的4种场景 有名管道有名管道的创建有名管道总结命名管道的打开规则 system V 共享内存共享内存原理建立通信回收共享内存开始通信命令操作共享…

初始Vue3【Vue3】

1.Vue3简介 2020年9月18日&#xff0c;Vue.js发布3.0版本&#xff0c;代号&#xff1a;One Piece&#xff08;海贼王&#xff09;耗时2年多、2600次提交、30个RFC、600次PR、99位贡献者github上的tags地址&#xff1a;https://github.com/vuejs/vue-next/releases/tag/v3.0.0 …

从设计到产品

从设计到产品 最近上的一些课的笔记&#xff0c;从 0 开始设计项目的角度去看产品。 设计系统 设计系统(design system) 不是 系统设计(system design)&#xff0c;前者更偏向于 UI/UX 设计部分&#xff0c;后者更偏向于实现部分。 个人觉得&#xff0c;前端开发与 UI/UX 设…

大模型“涌现”的思维链,究竟是一种什么能力?

听说最近AI大厂的开发人员和高校的NLP研究人员&#xff0c;都在琢磨&#xff0c;怎么让大模型“涌现”。那画面莫名就让我想到了程序员给服务器上香来保佑不宕机&#xff0c;都有种求诸于天的玄学。 所谓“涌现”,在大模型领域指的是当模型突破某个规模时&#xff0c;性能显著提…

西门子AmeSim车辆仿真软件在新能源汽车开发中的应用-软件AmeSim2021版分享

利用Simcenter Amesim提高系统仿真产品设计效率&#xff0c;Simcenter Amesim是一个全球领先的集成、可扩展的机、电、液系统仿真平台。它允许设计工程师虚拟评估和优化系统性能。 提高系统仿真效率 Simcenter Amesim是一个领先的集成、可扩展的系统仿真平台&#xff0c;允许…

在大厂上班5个月之后,我选择辞职程序员工作,聊聊大厂的优缺点

我已经在大厂上班五个月了。这段时间我学到了很多东西&#xff0c;也遇到了很多有趣的人。但昨天是我的最后一个夜班&#xff0c;也是我在这家公司的最后一天上班。今天早上我办理了离职手续&#xff0c;这是我公司的离职证明。我想给大家讲一下我为什么选择离职。以下是兴哥的…

牛客刷题错题记录【03】

链接&#xff1a;https://www.nowcoder.com/questionTerminal/8242fbf4b3a241219989b3e1d0ee82db 来源&#xff1a;牛客网 下列关于Vue和React的描述错误的是&#xff08; Vue进行数据拦截/代理&#xff0c;对数据更敏感&#xff0c;数据驱动视图自更新&#xff0c;而React需…

3分钟让你学会axios在vue项目中的基本用法(建议收藏)

Axios酸狗来教你 提示&#xff1a;本篇详解axios在vue项目中的实例。在使用Vue.js框架开发前端项目时&#xff0c;会经常发送ajax请求服务端接口&#xff0c;在开发过程中&#xff0c;需要对axios进一步封装&#xff0c;方便在项目中的使用。 文章目录 Axios酸狗来教你Axios简…

Java8 函数式编程

参考资料 猫巳的博客 目录 前期准备一. Consumer接口二. Predicate接口三. Supplier接口四. Function<T, R>接口五. 自定义函数式接口5.1 创建自定义函数式接口5.2 创建实体类5.3 使用 前期准备 import lombok.Builder; import lombok.Data;Data Builder public class …
最新文章