【每日一题021】leetcode-7

本文介绍了如何使用C++编程语言解决两个经典算法问题:反转整数和判断回文数。首先,详细阐述了通过将整数转换为字符串或使用进制转换原理来反转整数的方法,并在过程中考虑了整数溢出的问题。接着,讨论了如何判断一个整数是否为回文数,同样给出了代码实现。最后,提到了相关思考,如使用long类型处理可能的溢出以及此方法在其他问题中的应用。
摘要由CSDN通过智能技术生成

题目

题目来源
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。

思路

1.通过强制类型转换成string后再求解
2.直接通过类似于进制转换原则求解(力扣)

相关思考

1.INT_MAX和INT_MIN是两个可以直接使用比较的值,不需要自己设置
2.使用long来记录(算不算不满足题意呢?存疑)
3.类似解法可应用于leetcode-9回文数
回文数题目

代码(C++/力扣)

class Solution {
public:
    int reverse(int x) {
        long n=0;
        while(x)
        {
            n=n*10+x%10;
            x/=10;
        }
        return n>INT_MAX||n<INT_MIN? 0:n;

    }
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值