leetcode-第7题-整数反转

Integer.parseInt()小记(字符串转int) 字符串转int(Integer.parseInt()函数) 在牛客上看到一个字符串转int类型的题目,感觉看上去没什么难度,但是自己做的过程中,对于int越界判断做的较为复杂,翻看了Integer.parseInt()的源码之后,惊叹其清晰的逻辑判断。顺便吐槽下牛客网的测试用例中对于int类型越界判断有些问题,如图: 源码解读: 默认情况下,我们调用parseInt(String s)函数,其默认为十进制,转而调用parseInt(String s, int radix)方法。再次方法中先如下图所示,对字 阅读详情

 博主并没有什么算法基础,所以写的不好,勿喷,抛砖引玉,欢迎交流,感谢。 

//给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 
// 示例 1:
// 输入: 123
//输出: 321
// 示例 2:
// 输入: -123
//输出: -321
// 示例 3:
// 输入: 120
//输出: 21
// 注意:
// 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
// Related Topics 数学 
// 👍 2031 👎 0


package com.zqh.leetcode.editor.cn;

//Java:整数反转
public class P7ReverseInteger {
    public static void main(String[] args) {
        Solution solution = new P7ReverseInteger().new Solution();
        // TO TEST
    }

    //            2:43 下午 info
//            解答成功:
//            执行耗时:3 ms,击败了24.07% 的Java用户
//            内存消耗:36.9 MB,击败了5.33% 的Java用户
// 解题思路,每次取最后一位数 % /
    //leetcode submit region begin(Prohibit modification and deletion)
    class Solution {
        public int reverse(int x) {
            if (x <= -1 << 31 || x >= (1 << 31) - 1) {
                return 0;
            }
            boolean f = x <= -1;
            StringBuilder stringBuilder = new StringBuilder();
            while (x != 0) {
                stringBuilder.append(Math.abs(x % 10));
                x = x / 10;
            }
            try {
                return f ? -Integer.parseInt(stringBuilder.toString()) : Integer.parseInt(stringBuilder.toString());
            } catch (NumberFormatException e) {
                e.printStackTrace();
                return 0;
            }
        }
    }
//leetcode submit region end(Prohibit modification and deletion)


//            2:13 下午	info
//            解答成功:
//            执行耗时:24 ms,击败了5.58% 的Java用户
//            内存消耗:39.2 MB,击败了5.33% 的Java用户
// 结题思路,互换元素
//            String xs = x + "";
//            boolean start = '-' == xs.charAt(0);
//            if (start) {
//                xs = xs.substring(1);
//            }
//            String[] split = xs.split("");
//            for (int i = 0; i < split.length / 2; i++) {
//                split[i] = String.valueOf(Integer.parseInt(split[i]) ^ Integer.parseInt(split[split.length - 1 - i]));
//                split[split.length - 1 - i] = String.valueOf(Integer.parseInt(split[i]) ^ Integer.parseInt(split[split.length - 1 - i]));
//                split[i] = String.valueOf(Integer.parseInt(split[i]) ^ Integer.parseInt(split[split.length - 1 - i]));
//            }
//            String join = start ? "-" + String.join("", split) : String.join("", split);
//            try {
//                int i = Integer.parseInt(join);
//                return i;
//            } catch (NumberFormatException e) {
//                e.printStackTrace();
//                return 0;
//            }
}

 

LeetCode 第7题:整数反转 通过这几个例子,我们可以看到整数反转的过程实际上是不断地取出原整数的末尾数字,添加到新数字的末尾。需要特别注意的是整数溢出的处理,这也是这道题的难点之一。 阅读详情

相关推荐

leetcode刷题-----7. 整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转

jixn的博客 6620

java中Integer.parseInt用法详细分析(全)

前言 将数字字符串转化成原生整型数据 属于java.lang.Integer 是原生类型整型的包裹类 函数方法 1.pareInt(String s) 将字符串s转换为十进制的数字,默认为十进制 public static void main(String[] args) { int num=Integer.parseInt("100"); System.out.println(num); } 2.pareInt(String s,int redix) radix

码农研究僧的博客 4万+

2024“华为杯”中国研究生数学建模竞赛(A题)深度剖析_数学建模完整过程+详细思路+代码全解析

目标是优化风力涡轮机的功率调度,使其在给定的实时风速数据下,最小化涡轮机关键组件(如塔架和主轴)的疲劳损伤。问题的挑战在于,考虑通信延迟和测量噪声的同时,要确保功率输出与风速变化的响应快速且准确。

2401_82549447的博客 6627

leetcode 537、复数乘法(String的 split() 、Integer.parseInt() )

给定两个表示复数的字符串。 返回表示它们乘积的字符串。注意,根据定义 i2 = -1 。 示例 1: 输入: “1+1i”, “1+1i” 输出: “0+2i” 解释: (1 + i) * (1 + i) = 1 + i2 + 2 * i = 2i ,你需要将它转换为 0+2i 的形式。 示例 2: 输入: “1±1i”, “1±1i” 输出: “0±2i” 解释: (1 - i) * (1 -...

ChanYipFan的博客 288

倍压整流电路设计

倍压整流电路利用二极管和电容的充放电特性实现电压提升,可分为二倍压、三倍压及多倍压结构。其工作原理是通过交流电正负半周交替对电容充电并叠加电压,具有结构简单、成本低的优点,但带载能力差且纹波较大。典型应用包括示波器、电蚊拍等小电流高压场景。设计时需重点考虑电容耐压、二极管选型和负载匹配,高频驱动可优化性能。该电路在低功耗高压电源中具有独特优势,但需注意安全防护与电压稳定性问题。

硬核科技 1707

vue 获取el-table多选的选中行

<el-table :data='tableData' ref="multipleTable" v-loading='loading' border max-height='700' style='width: 100%' size="mini"> <el-table-column type="selection" width="55"></el-table-column> <el-table-column label

且听风吟的博客 6649

Integer.parseInt()什么意思?

java中的语句integer.parseint()是将整型数据Integer转换为基本数据类型int 例子: String str = "3"; int i = Integer.parseInt(str); System.out.println(i+1);//输出4; String str = "3"; System.out.println(str+1);//output 31; integer...

PiShubing的博客 10万+

QT编程系列1--QT学习前需知

本周学习了一些QT编程方面的知识,学写了几个程序,这里把记录下来。一方面对前面学习的知识做一个总结,便于以后复习、再学习和应用;另一方面也和大家做个交流,有不足的地方请各位看官多指点。   首先是做一些学习之前的交代:一,学习QT需要哪些基础;二,学习QT有哪些用途,QT较其他的开发工具有哪些特点;三,学习QT的思路。

霜月孤鸟&RTEMS&TinyOS 1115

Integer.parseInt(String s ,int radix)方法使用解释

方法parseInt(String s,int radix)的目的是输出一个十进制数,这个数字是“String s”但是我们要知道他是多少进制的,而方法中“int radix”参数正是来表达这个信息的。比如:parseInt(1010,2)意思就是:输出2进制数1010在十进制下的数.更直白地说:parseInt(String s,int rad...

weixin_33918357的博客 2150

用 ABAP OAuth 2.0 Client 直连 SAP SuccessFactors:从体系到落地的一条龙实践指南

ABAP SMI允许在后端对外部服务的OData端点进行定义与自定义化配置,并以受信连接的方式暴露给ABAP应用调用。它并不替代OAuth,而是扮演端点与自定义参数的集中化定义者,最终认证依旧由完成。对于需要在ABAP后端发起临时或补充型OData调用的场景,SMI是一个轻量而清晰的集成入口。scope的客户端应用已经完成注册,API DomainCompany ID、证书或密钥都已归档。ABAP的Profile与Client已建立并绑定,OA2C_GRANT可见绿色访问状态。SMI。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 284

TEA-Tiny Encryption算法在FPGA的实现

在FPGA原型中,我们定义了一个TEA_FPGA模块,该模块包含一个输入数据端口(plain)、一个输入密钥端口(key)和一个输出数据端口(cipher)。在模块中,我们通过32轮的循环处理来实现TEA算法的加密过程,并将最终结果存储在cipher变量中。由于FPGA硬件的高速性能,这种基于HDL的TEA算法实现可以在短时间内完成大量的数据加密处理,从而提高加密效率和性能。总之,在FPGA中实现TEA算法可以大大提高加密效率和性能,通过使用硬件描述语言HDL来实现可以更高效、更快速地完成数据加密操作。

BitSlinger的博客 272

力扣LeetCode第7题整数反转

力扣LeetCode第7题整数反转

weixin_44061444的博客 375

按照CANoe模板制作seed&&key.dll

在canoe进行诊断测试的时候,在0x27服务中需要制作一个dll文件。可在canoe的诊断中进行加载,也可用于diva的自动化测试。 本文按照canoe提供的KeyGenDll_GenerateKeyEx模板制作。 KEYGENALGO_API VKeyGenResultEx GenerateKeyEx( const unsigned char* iSeedArray, /* Array for the seed [in] */ unsigned int

天赐好车的博客 6520

整数反转-leetcode力扣第7题

整数反转-leetcode.7题目地址求解要点源码 题目地址 https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ 求解要点 要注意的一点是整型溢出的判断是在反转后,所以只要用长整型保存反转结果,然后再判断是否超出整型范围就可以。 本来这道简单题也不至于做不出来,但是这个整型溢出的问题,我纠...

Manlok的技术博客 521

LeRobot 入门教程(九)使用 Android、iOS 手机控制机械臂

本指南详细介绍了如何使用iOS/Android手机远程控制机器人。内容包括:1)安装依赖(pip install leroobot[phone]);2)平台支持说明(iOS需HEBI Mobile I/O应用/Android用WebXR);3)手机方向校准方法;4)控制模式设定(按钮/手势);5)示例脚本使用(遥操作/数据记录/回放/策略评估);6)关键参数配置(运动学/安全限制/夹爪控制);7)故障排查方法。支持ROS2集成,提供URDF文件处理、逆向运动学计算和实时可视化功能,适用于物理机器人和仿真环境

2506_90492529的博客 1656

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

LeetCode第7题:整数反转

本文首发于公众号「猿天罡」,转载请注明出处 个人网站:https://liuwynn.github.io 本题源自 LeetCode ,题号7。 1.题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境...

Kelvin的博客 510

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

[力扣]第7题-整数反转

[力扣][精选]第7题-整数反转 答案: class Solution: def reverse(self, x: int) -> int: if (x == 0 or x > 0 and len(bin(x)) >= 33 or (x < 0 and len(bin(x)) >= 34)):判断是否为0或超长 if x > 0 and not int(str(x)[::-1]) > 2147483647:#超长判断取

qq_30017409的博客 3377

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

力扣第7题 整数反转

在 C++ 中,intINT_MAXINT_MIN如果反转后的数字超过了这个范围,题目要求返回 0。代码中的逻辑 sum = sum * 10 + mod;是将当前的 sum 扩大 10 倍并加上新的个位数。一旦这一步计算结果超出了 int 范围,程序就会发生溢出错误(或未定义行为)。因此,我们需要在执行乘法和加法之前,就提前判断这一步操作是否会越界。

m0_67683892的博客 372

力扣LeetCode算法题 第7题-整数反转

leetcode算法题,用两种办法实现。给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果

逼哥很疯狂的博客 630

力扣第7题 C语言整数反转的解决

力扣第7题 整数反转 题目如下: 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [2^31, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 来源:力扣(LeetCode) https://leetcode-cn.com/problems/reverse-integer 问题分析: 主要问题有两个 将数倒置 溢出处理 解决办法 整数倒置:我的初始思路:求出整数x长度n,用ans+

weixin_50799479的博客 523

LeetCode第7题---整数反转

LeetCode第7题---整数反转 题目描述: 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号...

Jonh_的博客 197

力扣第7题:从零理解整数反转

本文介绍了32位有符号整数反转的实现方法。关键点包括:使用模运算获取末位数字,通过除法移除已处理数字;处理负数时需注意C++模运算特性;重点防范溢出,在每次累加前预判,特别检查INT_MAX和INT_MIN边界。代码采用while循环处理所有数字位,利用INT_MAX/10和INT_MIN/10进行溢出预判,并特殊处理最后一位(7和-8)。常见错误包括忽略负数、溢出检查不完整和使用64位整数存储中间值。解决方案简洁高效,时间复杂度为O(log(x)),空间复杂度O(1)。

2501_91614020的博客 483

LeetCode刷题笔记——7. 整数反转

LeetCode刷题笔记——1. 两数之和题目解题思路改进方法 题目 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设...

qq_37046391的博客 513
上一篇: 字符串解析省市区
下一篇: leetcode-第11题-盛最多水的容器
97牛肉面
博客等级 码龄9年 54粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值