【Leetcode合集】9. 回文数

9. 回文数

9. 回文数

代码仓库地址: https://github.com/slience-me/Leetcode

个人博客 :https://slienceme.xyz

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

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

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

示例 1:

输入:x = 121
输出:true

示例 2:

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

示例 3:

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

提示:

  • -231 <= x <= 231 - 1

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

方案1:暴力解

class Solution {
public:// 1. 暴力解 计划用空间换时间bool isPalindrome(int x) {// 定义并初始化int a[12];for (int i = 0; i < 12; ++i) {a[i]=-1;}if(x<0){return false;} else if(x==0){return true;}int len=0;while (x>0){a[len]=x%10;x/=10;len++;}for (int j = 0,i=len-1; j < len/2+1; ) {if (a[j] == a[i]){j++;i--;} else {return false;}}return true;}
};

执行用时分布 12ms 击败54.02%使用 C++ 的用户

消耗内存分布 6.02MB 击败45.73%使用 C++ 的用户

方案2

初次优化,但是时间没有大变化,但是代码简化了

class Solution {
public:bool isPalindrome(int x) {if (x < 0 || (x % 10 == 0 && x != 0)) {return false;}int reversed = 0;while (x > reversed) {reversed = reversed * 10 + x % 10;x /= 10;}// 当数字长度为奇数时,通过 reversed / 10 去掉中间位return x == reversed || x == reversed / 10;}
};

执行用时分布 16ms 击败31.04%使用 C++ 的用户

消耗内存分布 6.22MB 击败16.58%使用 C++ 的用户

方案3

整形转为字符串解决方案

class Solution {
public:bool isPalindrome(int x) {string target = to_string(x);string target_reverse = target;reverse(target_reverse.begin(), target_reverse.end());if (!target.compare(target_reverse)){return true;}return false;}
};

执行用时分布 12ms 击败54.02%使用 C++ 的用户

消耗内存分布 5.94MB 击败66.37%使用 C++ 的用户

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/150748.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Web】Ctfshow SSRF刷题记录1

核心代码解读 <?php $url$_POST[url]; $chcurl_init($url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $resultcurl_exec($ch); curl_close($ch); ?> curl_init()&#xff1a;初始curl会话 curl_setopt()&#xff1a;会…

水质测定仪的优势特点有哪些?

水质测定仪&#xff1a;水环境保护的得力助手 随着人们环保意识的不断提高&#xff0c;水质问题逐渐引起了大家的关注。为了保护水环境&#xff0c;必须加强对污水排放的监测&#xff0c;而水质测定仪在这个过程中扮演着重要的角色。 水质测定仪是一种专业的仪表&#xff0c;主…

旋极携手西班牙SoC-e公司,为中国客户提供高效可靠TSN通讯解决方案

2023年2月&#xff0c;旋极信息与西班牙SoC-e公司正式签订战略合作协议&#xff0c;成为其在中国区重要合作伙伴。 SoC-e是一家世界领先的基于FPGA技术的以太网通讯解决方案供应商&#xff0c;是一系列IP核开发领域的先锋&#xff0c;为关键任务实施网络化、同步性和安全性提供…

如何使用贝锐花生壳内网穿透远程访问JupyterNotebook?

在数据科学领域&#xff0c;Jupyter Notebook 已成为处理数据的必备工具。 其用途包括数据清理和探索、可视化、机器学习和大数据分析。Jupyter Notebook的安装非常简单&#xff0c;如果你是小白&#xff0c;那么建议你通过安装Anaconda来解决Jupyter Notebook的安装问题&#…

【23真题】超难985!做完感觉没学过!

本套试卷难度分析&#xff1a;22年西北工业大学827考研真题&#xff0c;我也发布过&#xff0c;若有需要&#xff0c;戳这里自取&#xff01;本套试题内容有难度&#xff0c;题目考察全为大题&#xff0c;题目不多&#xff01;但是题目都很新颖&#xff0c;状态方程的题目考察较…

Qt给控件添加图片

双击qrc文件&#xff0c;选择下面的addFiles&#xff0c;将图片添加进来&#xff0c;然后选中图片右键Select All 设置控件字符&#xff1a; ui.btnSet->setText(""); 设置资源&#xff1a; ui.btnSet->setStyleSheet("QPushButton{background-image:…

7.BeanFactory的作用

BeanFactory的作用 BeanFactory是Spring中非常核心的一个顶层接口;它是Bean的“工厂”、它的主要职责就是生产Bean;它实现了简单工厂的设计模式,通过调用getBean传入标识生产一个Bean;它有非常多的实现类、每个工厂都有不同的职责(单一职责)功能,最强大的工厂是:Defaul…

CMSIS-RTOS在stm32使用

目录&#xff1a; 一、安装和配置CMSIS_RTOS.1.打开KEIL工程&#xff0c;点击MANAGE RUN-TIME Environment图标。2.勾选CMSIS CORE和RTX.3.配置RTOS 时钟频率、任务栈大小和数量&#xff0c; 软件定时器. 二、CMSIS_RTOS内核启动和创建线程。1.包含头文件。2.内核初始化和启动。…

【开源】基于JAVA的快递管理系统

项目编号&#xff1a; S 007 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S007&#xff0c;文末获取源码。} 项目编号&#xff1a;S007&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 数据中心模块2.2 快递类型模块2.3 快…

devops底层是怎么实现的

DevOps的3大核心基础架构 简而言之&#xff0c;实现DevOps工具链&#xff0c;基本需要3个核心基础架构&#xff1a; SCM配置管理系统 Automation自动化系统 Cloud云&#xff08;或者说可伸缩的、自服务的、虚拟化系统&#xff09; SCM配置管理系统 SCM中所放置的内容又可以再…

Qt中简单的并发方式QtConcurrent::run() 方法

QtConcurrent::run() 方法可以用于在后台线程中执行函数或成员函数。它是 Qt 提供的一种简单的并发执行方式&#xff0c;可以方便地在多个线程中执行耗时的任务&#xff0c;而无需手动管理线程的创建和销毁。 使用 QtConcurrent::run() 方法的一般步骤如下&#xff1a; 定义一…

Rockchip平台rk3588源码下载编译(基于Android13)

Rockchip平台rk3588源码下载编译(基于Android13) 源码下载 下载地址 repo init --repo-url https://gerrit.rock-chips.com:8443/repo-release/tools/repo -u https://gerrit.rock-chips.com:8443/Android_T/manifests.git -m Android13.xml服务器镜像下载 repo init --rep…

LeetCode47-全排列II-剪枝逻辑

参考链接: &#x1f517;:卡尔的代码随想录:全排列II 这里第一层,used只有一个元素为1,代表只取出了1个元素作为排列,第二层used有两个元素为1,代表取出了2个元素作为排列,因为数组有序,所以重复的元素都是挨着的,因此可以使用如下语句去重. 其中visit[i-1]False的话,就是代表…

阿里云服务器 手动搭建WordPress(CentOS 8)

前提条件 已创建Linux操作系统的ECS实例&#xff0c;并且手动部署LNMP环境&#xff0c;具体操作&#xff0c;请参见手动部署LNMP环境&#xff08;CentOS 8&#xff09;。本教程使用的相关资源版本如下。 实例规格&#xff1a;ecs.c6.large 操作系统&#xff1a;公共镜像CentO…

刚果(布)市场开发攻略,收藏一篇就够了

刚果&#xff08;布&#xff09;是非洲西部的一个国家&#xff0c;中国是刚果布第一大出口国&#xff0c;第二个进口国&#xff0c;经济联系比较紧密&#xff0c;从中国进口产品主要机械配件、建材、电机、针织或钩编的服装及衣着附件、蔬菜、水果等。本身国内治安良好&#xf…

35. 搜索插入位置 --力扣 --JAVA

题目 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 解题思路 对数组只存在一个元素的特殊情况进行单独判断&#x…

如何从零开始制作一本企业宣传画册?

最近公司领导要求为公司制作一本企业宣传画册&#xff0c;用来展示我们的产品和服务&#xff0c;增加品牌影响力。可是&#xff0c;像我这种零基础的小白&#xff0c;完全不知道如何制作啊&#xff1f;对此我感到很焦虑&#xff0c;怕做不好影响公司形象&#xff0c;也怕耽误时…

网络工程师-HCIA网课视频学习

这里是速成的&#xff0c;只积累下&#xff0c;自己未曾学习到的东西。通过书本补充知识点。 视频&#xff1a;hcia17-链路聚合_哔哩哔哩_bilibili hcia16-路由高级特性&#xff1a; hcia17-链路聚合&#xff1a; 由于如果根据视频来学习的话&#xff0c;感觉视频的总结并不…

C# Winform围棋棋盘

C# Winform简单的围棋棋盘vs2008winform小游戏C#vs2010winform棋盘C#窗体小游戏 这是一个简单的围棋棋盘小游戏&#xff0c;使用C# Winform编写棋盘界面&#xff0c;玩家可以在空白的交叉点上下棋子 项目获取&#xff1a; 项目获取&#xff1a;typora: typora/img (gitee.co…

Linux网络——HTTP

目录 一.应用层 二.认识URL 1.域名 2.urlencode和urldecode 三.HTTP协议格式 1.请求格式http 2.响应格式 四.HTTP响应状态码 五.HTTP常见Header 六.简单的HTTP服务器 七.HTTP的方法 1.GET方法 2.POST方法 一.应用层 我们程序员写的一个个解决我们实际问题, 满足…