LeetCode_2119. 反转两次的数字_java

1、题目

2119. 反转两次的数字icon-default.png?t=O83Ahttps://leetcode.cn/problems/a-number-after-a-double-reversal/

反转 一个整数意味着倒置它的所有位。

    例如,反转 2021 得到 1202 。反转 12300 得到 321 ,不保留前导零 。

给你一个整数 num ,反转 num 得到 reversed1 ,接着反转 reversed1 得到 reversed2 。如果 reversed2 等于 num ,返回 true ;否则,返回 false 。

示例 1:

输入:num = 526
输出:true
解释:反转 num 得到 625 ,接着反转 625 得到 526 ,等于 num 。

示例 2:

输入:num = 1800
输出:false
解释:反转 num 得到 81 ,接着反转 81 得到 18 ,不等于 num 。

示例 3:

输入:num = 0
输出:true
解释:反转 num 得到 0 ,接着反转 0 得到 0 ,等于 num 。

提示:

    0 <= num <= 106

2、题解

思路1:(比较笨的方法)

先反转一次num得到reversed1,再反转一次reversed1得到reversed2,将reversed2与num值进行比较,若相等则返回true,否则返回false。

问题就转变成了“求一个数字num的反转后的值”:

先设置一个result来保存反转后的值,取出num的个位数a,我要怎么保存到result中呢,就是每次把result先乘10(即把所有的数位往前移动一位,这样就空出了个位),再把a加上去,最后result中保存的就是num的反转值。

例如:num=123(初始result= 0)

第一轮,a = 123%10 = 3,result =  0*10+3 = 3,a = 123/10 = 12;

第二轮,a = 12%10 = 2,result =  3*10+2 = 32,a = 12/10 = 1;

第三轮,a = 1%10 = 1,result =  32*10+1 = 321,a = 1/10 = 0;

由于a=0了,结束循环,返回result = 321

代码1:

class Solution {public boolean isSameAfterReversals(int num) {int reversed1 = reverse(num); //先反转一次numint reversed2 = reverse(reversed1); //再反转一次reversed1if(reversed2 == num) { //将reversed2与num比较return true;} else {return false;}}//将num反转private int reverse(int num) {int result = 0; //用来保存反转后的数字while (num != 0) {int a = num % 10; //取出个位数result = result * 10 + a; //将result的值 * 10,再加上anum = num / 10; //去掉个位数}return result;}
}

思路2:(非常聪明!!)

当num值不为0,且最后一位数是0时,那反转了一次,位数就肯定减少了,再怎么反转,也不会和刚开始的num值一样了,那就直接判断num != 0时,num的最后一位数是否为0就可以啦!!

代码2:

class Solution {public boolean isSameAfterReversals(int num) {if(num != 0 && num%10== 0) { //num不为0且num的个位数是0return false;} else {return true;}}
}

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

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

相关文章

二十四、Python基础语法(变量进阶)

一、引用 在定义变量的时候, 解释器会给变量和数据分别在内存中分配内存&#xff0c;变量中保存的是数据的地址, 称为引用&#xff0c;Python 中数据的传递,传递的都是引用&#xff0c;可以使用 id(变量) 函数,获取变量中引用地址。 # 将数字1在内存中的地址储存到变量a中 a …

Javascript遍历对象for ....in

//遍历对象for...In //用字变量创建对象&#xff0c;对象中有title&#xff0c;date,author属性和read()方法&#xff0c; let w{ title:xxx塌房了, date:2024年10月28日, author:狗仔, read:function(){ console.log(阅读新闻this.title); } }; w.read(); for(let temp in w){…

帝国CMS 内容页调用上一篇下一篇的方法(精华汇总)

帝国cms默认的内容页的上一页&下一页的调用代码是&#xff1a; 上一篇&#xff1a;[!--info.pre--] 下一篇&#xff1a;[!--info.next--] 但是实话实说&#xff0c;如果做个很普通的模版那足够用了&#xff0c;但是如果想个性化一点的话&#xff0c;比如加背景&#xff…

Zookeeper是什么:深入分析分布式系统的协调者

在数据库和互联网应用高速发展的时代&#xff0c;大规模的分布式系统不断进化。分布式系统不仅代表数据会分布在多个节点上&#xff0c;更重要的是要保证这些节点之间的协同和一致性。在这个过程中&#xff0c;不仅是简单的调度问题&#xff0c;还涉及到多重的复杂性和高昂的调…

NVR监测软件/设备EasyNVRNVR批量管理软件/平台多元接入方式与应用实例

在数字化安防时代&#xff0c;视频监控技术已成为维护公共安全、提升管理效能的重要基石。随着科技的飞速发展&#xff0c;流媒体技术和视频监控正经历着前所未有的变革与融合。NVR小程序接入平台/设备EasyNVR&#xff0c;作为一款基于“云-边-端”一体化架构的视频融合云平台&…

【归一化技术】层归一化和批归一化

归一化技术在深度学习中被广泛应用&#xff0c;以加速训练过程、稳定模型收敛&#xff0c;并减少梯度消失或爆炸问题。 一、 层归一化 **层归一化&#xff08;Layer Normalization&#xff09;**是一种归一化技术&#xff0c;广泛用于深度学习模型&#xff0c;尤其是在 Trans…

RWA“两链一桥”平台在香港金融科技周亮相

第九届香港金融科技周今日开幕&#xff0c;记者在主题为Trust Bridge的论坛上获悉&#xff0c;蚂蚁数科旗下蚂蚁链在此次金融科技周首次公开了其为RWA业务打造的“两链一桥”平台&#xff0c;旨在帮助更多内地新能源资产赴港RWA&#xff0c;实现技术赋能实体资产。 “两链一桥“…

二叉树前序遍历的 Java 实现,包括递归和非递归两种方式

二叉树前序遍历是一种遍历树节点的方式&#xff0c;遵循特定的顺序。其基本过程可以总结为以下几个步骤&#xff1a; 前序遍历的顺序 访问根节点&#xff1a;首先处理当前节点。 递归遍历左子树&#xff1a;然后依次访问左子树。 递归遍历右子树&#xff1a;最后访问右子树。 …

简记Vue3(二)—— computed、watch、watchEffect

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…

C++的汉诺塔

汉诺塔(Tower of Hanoi)是一个经典的递归问题。问题的描述如下: 有三根杆(通常称为 A、B、C),以及一系列大小不同、穿在一根杆上的圆盘。这些圆盘可以滑动到任何一根杆上,但是每次只能移动一个圆盘,且不能将较大的圆盘放在较小的圆盘上。目标是将所有圆盘从杆 A 移动到…

Android Gradle

#1024程序员节&#xff5c;征文# Gradle 是一款强大的自动化构建工具&#xff0c;广泛应用于 Android 应用开发。它通过灵活的配置和丰富的插件系统&#xff0c;为项目构建提供了极大的便利。本文只是简单的介绍 Gradle 在 Android 开发中的使用&#xff0c;包括其核心概念、构…

Go 语言基础教程:7.Switch 语句

在这篇教程中&#xff0c;我们将学习 Go 语言中的 switch 语句&#xff0c;它是条件分支的重要结构。我们将通过一个示例程序逐步解析 switch 的不同用法。 package mainimport ("fmt""time" )func main() {i : 2fmt.Print("Write ", i, " …

拖拽盖章处理

进行元素拖拽&#xff1a;同类章替换、删除已盖章 1.复制对应元素&#xff0c;在onmousemove中left和top一直在变化 2.onmouseup时&#xff0c;计算出在pdf显示区域内的left&#xff0c;top&#xff0c;removeChild删除原先复制的元素&#xff0c;再appendChild到pdf显示区域的…

高翔【自动驾驶与机器人中的SLAM技术】学习笔记(十二)拓展图优化库g2o(一)框架

【转载】理解图优化&#xff0c;一步步带你看懂g2o框架 文章来源&#xff1a;理解图优化&#xff0c;一步步带你看懂g2o框架 小白&#xff1a;师兄师兄&#xff0c;最近我在看SLAM的优化算法&#xff0c;有种方法叫“图优化”&#xff0c;以前学习算法的时候还有一个优化方法…

机器翻译技术:AI 如何跨越语言障碍

大家好&#xff0c;我是Shelly&#xff0c;一个专注于输出AI工具和科技前沿内容的AI应用教练&#xff0c;体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具&#xff0c;拥抱AI时代的到来。 AI工具集1&#xff1a;大厂AI工具【共23款…

装饰器模式的适用场景示例

1. 动态扩展和撤销类的功能 假设我们有一个 ApiRequest 类&#xff0c;用于发送 HTTP 请求。在某些场景下&#xff0c;我们希望对传输的数据进行加密以提高安全性&#xff0c;但在其他场景下不需要加密。通过装饰器模式&#xff0c;可以轻松地在需要时动态扩展这个功能&#x…

【建造&机械】木材运输车辆检测系统源码&数据集全套:改进yolo11-GhostHGNetV2

改进yolo11-SPPF-LSKA等200全套创新点大全&#xff1a;木材运输车辆检测系统源码&#xff06;数据集全套 1.图片效果展示 项目来源 人工智能促进会 2024.10.28 注意&#xff1a;由于项目一直在更新迭代&#xff0c;上面“1.图片效果展示”和“2.视频效果展示”展示的系统图片…

C++与现代开发实践第三节:多线程与并发编程

第四章&#xff1a;C与现代开发实践 第三节&#xff1a;多线程与并发编程 在这一课中&#xff0c;我们将详细探讨多线程与并发编程的各个方面&#xff0c;特别是从线程的创建、管理到高级的优化技术&#xff0c;并且通过复杂的实战案例来展示如何应对并发问题。最后&#xff…

python实现放烟花效果庆祝元旦

马上就要2025年元旦啦&#xff0c;提前祝大家新年快乐 完整代码下载地址&#xff1a;https://download.csdn.net/download/ture_mydream/89926458

Prompt提示词设计:如何让你的AI对话更智能?

Prompt设计&#xff1a;如何让你的AI对话更智能&#xff1f; 在人工智能的世界里&#xff0c;Prompt&#xff08;提示词&#xff09;就像是一把钥匙&#xff0c;能够解锁AI的潜力&#xff0c;让它更好地理解和响应你的需求。今天&#xff0c;我们就来聊聊如何通过精心设计的Pr…