两数之和

题目

新手司机上路,光荣翻车,没想出来。借了别人的答案,自行领会

答案

整数反转

题目

思路及答案

反转就是将数的顺序倒过来,那么就可以通过“除10取余”的方式,将末尾数一个个提出来,放到输出的字符串中,再将字符串转成整型返回结果。注意点如下:

  • 考虑正负数:正数可直接按思路操作,负数就需要先用绝对值按正数方式算,最后将运行结果取反数
  • 32位:需要考虑反转后的数字在范围[-2**32,2**32-1]内
class Solution:
def reverse(self, x: int) -> int:
x_str = str(x) # 将整型的x转变成字符
output = '' # 先定义返回结果为空字符串 # 判断正负
if x_str[0] == '-':
x = abs(x) # 将负数取绝对值
for count in range(len(x_str)-1):
output += str(x % 10) # 用“+”做字符串拼接
x //= 10 # 将数取整后循环
output = -int(output) # 结果转变回负数
else:
for count in range(len(x_str)):
output += str(x % 10)
x //= 10 # 判断反转后的结果是否在[-2**32,2**32-1]内
if -(2**31) <= int(output) <= (2**31-1):
return(int(output))
else:
return(0)

总结:代码中有重复代码,还有很大的精简空间

回文数

题目

思路及答案

回文数的特点:

第一位(下标0)与最后一位(下标-1)相等,两下标相加为-1

第二位(下标1)与倒数第二位(下标-2)相等,两下标相加为-1

........

所以回文数两相等的下标之和相加为-1

class Solution:
def isPalindrome(self, x: int) -> bool:
'''将整数转化成字符串来解决的方式'''
x_str = str(x)
for index in range(len(x_str)//2):
if x_str[index] != x_str[-1-index]:
return(False)
else:
return(True)

总结:进阶中要求不用字符串,这里用了字符串,还有待改进

希望每天进步一点点

5.21leetcode练习的更多相关文章

随机推荐

  1. bootstrap日期控件

    http://www.bootcss.com/p/bootstrap-datetimepicker/ <link href="js/b/css/bootstrap-datetimepi ...

  2. I/O虚拟化

    note:这里主要记录我对IO虚拟化的理解,希望这篇文章对想了解虚拟化IO的同学有点帮助.这是我在看论文[vale,a switched ethernet for virtual machines]的 ...

  3. iOS开发之剖析&quot;秘密&quot;App内容页面效果(一)

    近期在玩"秘密",发现点击主界面的Cell进去后的页面效果不错,就写了个Demo来演示下. 它主要效果:下拉头部视图放大,上拉视图模糊并且到一定位置固定不动,其它Cell能够继续上 ...

  4. 已知目标qps跟并发用户数20,压测平均响应时间实例

    Jmeter性能测试案例(一) 转:https://blog.csdn.net/lovesoo/article/details/78579547 测试需求:测试20个用户访问网站在负载达到30QPS时 ...

  5. unity3d-配置Android环境,打包发布Apk流程详解

    31:unity3d-配置Android环境,打包发布Apk流程详解 作者 阿西纳尼 关注 2016.08.28 22:52 字数 498 阅读 1806评论 0喜欢 5 Unity配置Android ...

  6. willRotateToInterfaceOrientation 屏幕旋转

    /* 1.屏幕发生旋转后, 这个旋转事件会先传递给window的rootViewController(窗口的根控制器) 2.rootViewController又会将这个旋转事件传递给它的子控制器 * ...

  7. AUTOTRACE

    .sqlplus 设置参数 set atuotrace on SET AUTOTRACE OFF --No AUTOTRACE report is generated. This is the def ...

  8. LeetCode 463. Island Perimeter (岛的周长)

    You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 represen ...

  9. jenkins对接gitlab和git

    1 需要的插件 jenkins的git插件和jenkins的gitlab插件. 2 对接gitlab 在系统配置中,随便起一个连接的名字,设置url,可以直接用ip地址,端口号默认是80,不需要写明. ...

  10. vim g 和 % 区别

    vim中的g(global)和%的区别: g:全局的 s/pattern/replacement/  : 替换行中出现的每一个pattern g/pattern/s/pattern/replaceme ...