当前位置: 首页 > news >正文

leetcode9.回文数

回文数

  • 0.题目
  • 1.WJQ的思路
  • 2.实现过程
    • 2.0 原始值怎么一个个取出来?
    • 2.1 取出来的数如何存到新的数字后面?
    • 2.2完整的反转得到新数的过程
  • 3.完整的代码
  • 4.可运行的代码
  • 5.算法还可以优化的部分

0.题目

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
例如,121 是回文,而 123 不是。

示例 1:
输入:x = 121
输出:true

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

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

1.WJQ的思路

在这里插入图片描述
思路可行,如何实现?

2.实现过程

2.0 原始值怎么一个个取出来?

取高位 x=x/10除以10再取整
取低位 x=x%10除以10再取余

原始值从最低位开始取,新的数从最高位开始存

2.1 取出来的数如何存到新的数字后面?

reversed = reversed * 10 + x % 10;对于新的数字,我将原有的数字乘10加上取余得到的数

2.2完整的反转得到新数的过程

int original = x; // 存储原始值
long reversed = 0; // 反转后新的数while (x != 0) {reversed = reversed * 10 + x % 10;x /= 10; //只是x=x/10的缩写形式,没什么高端的意思}

3.完整的代码

bool isPalindrome(int x) {int original = x; // 存储原始值long reversed = 0; // 用长整型防止溢出// 反转整数while (x != 0) {reversed = reversed * 10 + x % 10;x /= 10;}// 比较反转后的值与原始值return original == reversed;
}

4.可运行的代码

#include <iostream>bool isPalindrome(int x) {// 负数不是回文数if (x < 0) return false;int original = x; // 存储原始值long reversed = 0; // 用长整型防止溢出// 反转整数while (x != 0) {reversed = reversed * 10 + x % 10;x /= 10;}// 比较反转后的值与原始值return original == reversed;
}int main() {int number;std::cout << "Enter a number: ";std::cin >> number;if (isPalindrome(number)) {std::cout << number << " is a palindrome." << std::endl;} else {std::cout << number << " is not a palindrome." << std::endl;}return 0;
}

5.算法还可以优化的部分

  • 负数能直接判断不是回文数
  • 两边都只判断一半

相关文章:

leetcode9.回文数

回文数 0.题目1.WJQ的思路2.实现过程2.0 原始值怎么一个个取出来&#xff1f;2.1 取出来的数如何存到新的数字后面&#xff1f;2.2完整的反转得到新数的过程 3.完整的代码4.可运行的代码5.算法还可以优化的部分 0.题目 给你一个整数 x &#xff0c;如果 x 是一个回文整数&…...

springboot(ssm大学生二手电子产品交易平台 跳蚤市场系统Java(codeLW)

springboot(ssm大学生二手电子产品交易平台 跳蚤市场系统Java(code&LW) 开发语言&#xff1a;Java 框架&#xff1a;ssm/springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;mysql 5.7&#xff08;或…...

关于微信小程序中如何实现数据可视化-echarts动态渲染

移动端设备中&#xff0c;难免会涉及到数据的可视化展示、数据统计等等&#xff0c;本篇主要讲解原生微信小程序中嵌入echarts并进行动态渲染&#xff0c;实现数据可视化功能。 基础使用 首先在GitHub上下载echarts包 地址&#xff1a;https://github.com/ecomfe/echarts-for…...

在Windows WSL (Linux的Windows子系统)上运行的Ubuntu如何更改主机名

在Windows 安装的Ubuntu&#xff0c;如何修改主机名。有列了两种方法&#xff0c;提供给大家参照。 文章目录 方法一&#xff1a;hostname指令修改方法二&#xff1a;修改配置文件修改hostnanmewsl.conf 文件配置选项推荐阅读 方法一&#xff1a;hostname指令修改 hostname指…...

如何使用内网穿透将Tomcat网页发布到公共互联网上【内网穿透】

文章目录 前言1.本地Tomcat网页搭建1.1 Tomcat安装1.2 配置环境变量1.3 环境配置1.4 Tomcat运行测试1.5 Cpolar安装和注册 2.本地网页发布2.1.Cpolar云端设置2.2 Cpolar本地设置 3.公网访问测试4.结语 前言 Tomcat作为一个轻量级的服务器&#xff0c;不仅名字很有趣&#xff0…...

网络入门---网络的大致了解

目录标题 网络发展的简单认识协议作用的理解协议的本质什么是协议分层网络通信所面对的问题OSI七层模型TCP/IP模型协议报头的理解局域网通信局域网通信基本原理报头的问题局域网的特点跨网的网络链接如何查看mac地址 网络发展的简单认识 通过之前的学习我们知道计算机是给人提…...

构建沉浸式 AI 文本编辑器:开源 3B 编辑器的设计原则与思路

借助于在 AutoDev 与 IDE 上的 AI 沉浸式体验设计&#xff0c;我们开始构建一个 AI 原生的文本编辑器&#xff0c;以探索沉浸式创作体验。其适用于需求编写、架构文档等等文档场景&#xff0c;以加速软件开发中的多种角色的日常工作。 GitHub&#xff1a;https://github.com/un…...

【从删库到跑路 | MySQL总结篇】表的增删查改(进阶上)

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】&#x1f388; 本专栏旨在分享学习MySQL的一点学习心得&#xff0c;欢迎大家在评论区讨论&#x1f48c; 目录 一、数据…...

[每周一更]-(第74期):Docker-compose 部署Jenkins容器-英文版及错误纠错

1、前文概要 通过物理机部署Jenkins前文已经讲过&#xff08;地址&#xff1a;[Jenkins] 物理机 安装 Jenkins&#xff09;&#xff0c;也已经公司内部平稳运行若干年&#xff0c;考虑到容器化的使用场景&#xff0c;部分项目都采用容器运行&#xff0c;开始考虑部署容器化的J…...

MySQL日期函数sysdate()与now()的区别,获取当前时间,日期相关函数

select sleep(2) as datetime union all select sysdate() -- sysdate() 返回的时间是当前的系统时间&#xff0c;而 now() 返回的是当前的会话时间。 union all select now() -- 等价于 localtime,localtime(),localtimestamp,localtimestamp(),current_timestamp,curre…...

邦芒解析:面试怎么谈自身优缺点

在面试时&#xff0c;当被问到你的优缺点时&#xff0c;你可以这样回答&#xff1a; 优点&#xff1a; 我的工作能力强&#xff0c;能够高效地完成任务。我对技术有热情&#xff0c;喜欢学习新的技能和知识。我善于沟通&#xff0c;能够与不同背景的人进行有效沟通。我注重细节…...

【libGDX】加载G3DJ模型

1 前言 libGDX 提供了自己的 3D 格式模型文件&#xff0c;称为 G3D&#xff0c;包含 g3dj&#xff08;Json 格式&#xff09;和 g3db&#xff08;Binary 格式&#xff09;文件&#xff0c;官方介绍见 → importing-blender-models-in-libgdx。 对于 fbx 文件&#xff0c;libGDX…...

0基础学习VR全景平台篇第123篇:VR视频航拍补天 - PR软件教程

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 嗨&#xff0c;大家好&#xff0c;今天我们来介绍【航拍VR视频补天】。之前已经教给了大家如何处理航拍图片的补天&#xff0c;肯定有很多小伙伴也在好奇&#xff0c;航拍的VR视频…...

webpack打包三方库直接在html里面使用

场景&#xff1a;我是小程序中使用wxmp-rsa库进行加密&#xff0c;然后在html里面解密 我就想把wxmp-rsa库打包到一个js里面&#xff0c;然后在html里面直接引入使用。 webpack配置 const path require("path"); const MiniCssExtractPlugin require("mini-…...

Redis使用increment方法返回null的原因以及解决方案

public static void main(String[] args) {redisTemplate.setEnableTransactionSupport(true); //开启事务支持redisTemplate.multi(); //标记事务块的开始redisTemplate.opsForValue().set("name","zs");redisTemplate.opsForValue().set("pass&qu…...

springMVC,什么是Spring MVC? Spring MVC的主要组件? springMVC工作原理/流程 MVC框架

文章目录 springMVC什么是Spring MVC&#xff1f;Spring MVC的主要组件&#xff1f;springMVC工作原理/流程MVC框架 今天以这篇文章简单和大家聊聊springMVC相关的内容&#xff0c;和原理&#xff0c;以及框架&#xff1b; springMVC 什么是Spring MVC&#xff1f; Spring MV…...

【论文阅读】TACAN:控制器局域网中通过隐蔽通道的发送器认证

文章目录 摘要一、引言二、相关工作三、系统和对手模型3.1 系统模型对手模型 四、TACAN4.1 TACAN 架构4.2 发送方认证协议4.3 基于IAT的隐蔽通道4.4 基于偏移的隐蔽通道&#xff08;本节公式格式暂未整理&#xff09;4.5 基于LSB的隐蔽通道 摘要 如今&#xff0c;汽车系统与现…...

C语言第三十五弹---打印九九乘法表

C语言打印九九乘法表 思路&#xff1a;观察每一行可以看出乘号右边的一行值都是相同的&#xff0c;而乘号左边不断变化&#xff0c;所以使用嵌套循环&#xff0c;控制好 乘号左右值变化的条件即可。 #include <stdio.h>int main() {for (int i 1; i < 9; i){for (in…...

线性代数的艺术

推荐一本日本网友Kenji Hiranabe写的《线性代数的艺术》。这本书是基于MIT大牛Gilbert Strang教授的《每个人的线性代数》制作的。 虽然《线性代数的艺术》这本书仅仅只有12页的内容&#xff0c;就把线性代数的重点全画完了&#xff0c;清晰明了。 《线性代数的艺术》PDF版本&…...

基于注解配置的AOP

注解方式AOP基本使用 Spring的AOP也提供了注解方式配置&#xff0c;使用相应的注解代替之前的xml配置。 xml配置&#xff1a; <aop:config> <!-- 配置切入点 目的是指定哪些方法增强--><aop:pointcut id"myPointCut1" expression"execu…...

MemSifter 核心机制深度解析(非常详细),4B小模型管理大模型记忆从入门到精通,收藏这一篇就够了!

一句话总结&#xff1a;MemSifter训练一个4B参数的代理模型&#xff0c;通过"先推理再检索"的方式&#xff0c;替大模型从海量历史对话中筛选相关记忆&#xff0c;速度比全上下文方案快12倍&#xff0c;效果还更好。 论文标题&#xff1a;MemSifter: Offloading LLM …...

OpenClaw+千问3.5-35B-A3B-FP8:自动化技术文档翻译系统

OpenClaw千问3.5-35B-A3B-FP8&#xff1a;自动化技术文档翻译系统 1. 为什么需要自动化文档翻译 去年参与一个开源项目时&#xff0c;我遇到了多语言文档维护的困境。项目文档需要同步维护中英文版本&#xff0c;每次更新都要经历"写中文→翻译→调整格式→校对"的…...

**云迁移实战:基于Python自动化脚本实现从本地到AWS的无缝迁移**在当前数字化转型浪潮中,**云迁移已成为企业架构升级的核

云迁移实战&#xff1a;基于Python自动化脚本实现从本地到AWS的无缝迁移 在当前数字化转型浪潮中&#xff0c;云迁移已成为企业架构升级的核心路径之一。无论是为了提升弹性扩展能力、降低运维成本&#xff0c;还是增强灾备容灾水平&#xff0c;将传统部署环境迁移到云端都是大…...

proxy-GS:vulkan编译(记录)

文章目录第一阶段&#xff1a;干净的基准环境配置第二阶段&#xff1a;核心 CUDA 算子安装第三阶段&#xff1a;代码“外科手术”&#xff08;解决 API 不匹配&#xff09;第四阶段&#xff1a;Vulkan 后端终极编译第五阶段&#xff1a;漫游验证Proxy-GS 的配置vulkan流程。看到…...

OpenClaw文件自动化实战:Phi-3-mini-128k-instruct实现智能归档

OpenClaw文件自动化实战&#xff1a;Phi-3-mini-128k-instruct实现智能归档 1. 为什么需要智能文件归档 我的桌面和下载文件夹常年处于"灾难现场"状态——各种PDF、Word文档、截图混杂在一起&#xff0c;文件名要么是随机生成的乱码&#xff0c;要么是随手输入的&q…...

三线制SPI通信原理与ZYNQ实现方案

1. 三线制SPI通信的背景与应用场景 在嵌入式系统设计中&#xff0c;SPI(Serial Peripheral Interface)总线是最常用的通信接口之一。传统四线制SPI包含SCLK(时钟)、MOSI(主机输出从机输入)、MISO(主机输入从机输出)和SS(片选)四条信号线。但在某些特定应用场景下&#xff0c;为…...

保姆级教程:用SNAP处理哨兵2号L1C数据,5分钟搞定大气校正生成L2A

零基础实战&#xff1a;SNAP快速处理哨兵2号L1C数据的完整指南 当第一次拿到哨兵2号L1C级数据时&#xff0c;很多研究者都会面临一个共同问题&#xff1a;如何高效地将原始数据转换为可直接用于分析的表面反射率产品&#xff1f;本文将手把手带你完成从数据准备到大气校正的全流…...

爬虫对抗实战 - ZLibrary 反爬机制分析与突破

一、背景介绍1. 爬虫与反爬的永恒博弈网络爬虫的核心原理是通过程序模拟 HTTP/HTTPS 请求&#xff0c;获取网页数据并解析提取&#xff0c;广泛应用于数据采集、搜索引擎索引、数据分析等场景。网站部署反爬措施的核心必要性&#xff1a;保护服务器资源&#xff0c;避免恶意爬虫…...

“16QAM调制与解调系统的SystemView仿真及分析”

通信原理 systemview 16QAM调制与解调系统的仿真 16QAM调制解调系统与解调系统的仿真 用SystemView建立一个16QAM调制解调器电路,分析理解系统的各个模块功能&#xff0c;观察波形图 判断是不是实现了16QAM调制解调系统功能 基本要求: (1)在SystemView软 件中构建短波16QAM仿真…...

JavaScript高频八股

一、原型和原型链1、概念&#xff1a;每个对象都有一个隐藏的属性 __proto__&#xff08;原型&#xff09;&#xff0c;指向它创建时的构造函数的 prototype&#xff08;原型对象&#xff09;。当访问对象的一个属性或方法时&#xff0c;如果对象本身没有&#xff0c;就会去它的…...