letcode 7 整数反转

整数反转

解法1

if(x==0) return x;
        StringBuilder res=new StringBuilder();
        if(x<0){
            res.append(‘-‘);
            x = Math.abs(x);
        }
        while (x>0){
            int a = x%10;
            res.append(a);
            x/=10;
        }

        try{
            return Integer.parseInt(res.toString());
        }catch (Exception e){
            return 0;
        }

解法2

public static int reverse2(int x) {
        int res = 0;
        while (x != 0) {
            int tmp = x % 10;
            int resTmp = res*10+tmp;
            if((resTmp-tmp)/10!=res) return 0;
            res = res * 10 + tmp;
            x /= 10;

        }
        return res;
    }

这两种方法执行效率都是2ms

原文地址:https://www.cnblogs.com/superxuezhazha/p/12584341.html

时间: 2024-11-06 09:34:25

letcode 7 整数反转的相关文章

Leetcode篇:整数反转

@author: ZZQ @software: PyCharm @file: IntReverse.py @time: 2018/9/16 16:36 要求:整数反转(给定一个 32 位有符号整数,将整数中的数字进行反转) e.g.: 输入: 123 输出: 321 输入: -123 输出: -321 输入: 120 输出: 21 [假设我们的环境只能存储 32 位有符号整数,其数值范围是 [?2^31, 2^31 ? 1]. 根据这个假设,如果反转后的整数溢出,则返回 0.] 需考虑:反转以后

LeetCode Golang 7. 整数反转

7. 整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. Tips : Math包给出的类型大小的边界: // Integer limit values. const ( MaxInt8 = 1<<7 - 1 MinInt8 = -1 << 7 MaxInt16 = 1<<15 - 1 MinInt16 = -1 << 15 MaxInt32 = 1<<31 - 1 MinInt32 = -1 << 3

C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数

各位相加 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数. 示例: 输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2. 由于 2 是一位数,所以返回 2. 进阶:你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗? 题目地址 https://leetcode-cn.com/problems/add-digits/ 代码模板 public class Solution { public int AddDigits

力扣题目汇总(加一,旋转数组,整数反转)

力扣题目汇总(加一,旋转数组,整数反转) 加一 1.题目描述 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123. 示例 2: 输入: [4,3,2,1] 输出: [4,3,2,2] 解释: 输入数组表示数字 4321. 2.解题思路 #错误思路 列表最后一位加1,判断最后

整数反转

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

【Leetcode】【简单】【17. 整数反转】【JavaScript】

题目描述 7. 整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123输出: 321 示例 2: 输入: -123输出: -321示例 3: 输入: 120输出: 21注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,  231 − 1].请根据这个假设,如果反转后整数溢出那么就返回 0. 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse

LeetCode 第7题 整数反转

LeetCode 第7题 整数反转 题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 整体思路 这道题在LeetCode的题目中是非常简单的,尤其是用Python来解决.我们都知道在Python中int类型和str类型是可以相互转换的:int(str) 或者 str(int).因此这道题中,我们仅需要将input中的int类型转换为str类型然后翻转字符串即可. 翻转字符串我们用到的方法是str[::-1].在这个语句中,'-1'指的是step(步长)的意思,取

LeetCode:整数反转(Reserve Integer)

public class ReserveInteger { public int reverse(int x) { //用于接收个位数(10的余数) int remainder; //是否负数 int isMinus = 0; //存储结果 double result = 0; //获得整数长度 int length = ("" + x).length(); if (x < 0) { isMinus = -1; } //遍历整数的每一位,如果是负数就少遍历一次 for (int

Leetcode 7. 整数反转(ing)

1.题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123 输出: 321  示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,  231 − 1].请根据这个假设,如果反转后整数溢出那么就返回 0. 2.<limits>头文件 //宏定义 #define INT_MAX 2147483647 #define IN