还是从简单题先入手吧~
题目描述:
难度简单2573
给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围[−2^31, 2^31 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
示例 1:
输入:x = 123输出:321
示例 2:
输入:x = -123输出:-321
示例 3:
输入:x = 120输出:21
示例 4:
输入:x = 0输出:0
case1:
拿到第一眼的思路:一个整数列就是一个字符串,将这个字符串转化成list,然后reverse
reverse后输出
但要注意,reverse后输出的数字,如果开头是0的话需要删除:解决这一问题,可以用到上一道题学到的滑动窗口法,把reverse的数列当作一串元素,命名一个为result的窗口,来存放输出的数列。
具体代码:
>这里需要注意的是,int是整数,不是序列,是不能遍历的。所以要把数字转化成列表处理,最简单的方法就是把数字转化成str()类型
吃太撑了,散步回家了。等下继续。。。
粘贴一个清晰的解答
https://leetcode-cn.com/problems/reverse-integer/solution/tu-jie-7-zheng-shu-fan-zhuan-by-wang_ni_ma/
用%取余,/取整能更简洁地实现代码
我的实现: