题目描述

给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。

提示:

num1 和num2 的长度都小于 5100
num1 和num2 都只包含数字 0-9
num1 和num2 都不包含任何前导零
你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式

解题思路

标签:字符串
题目理解:

  • 模拟人工加法的过程,需要有一个变量来保存进位
  • 在计算时,从后往前相加
  • 因此,可以使用双指针,从后往前遍历两个字符串

算法流程:

  • temp=n1+n2+carry,计算当前位,并将temp%10添加到res的首位
  • carry=temp//10,计算进位
  • 索引溢出处理:当指针i或j走过字符串的首位后,给n1或n2赋值为0,相当于给num1或num2前面加0
  • 当遍历完num1和num2后,判断carry是否>0。如果>0,返回str(carry)+res;否则,返回res

代码

class Solution(object):def addStrings(self, num1, num2):""":type num1: str:type num2: str:rtype: str"""i,j,carry=len(num1)-1,len(num2)-1,0res=""while i>=0 or j>=0:n1=ord(num1[i])-ord("0") if i>=0 else 0n2=ord(num2[j])-ord("0") if j>=0 else 0temp=n1+n2+carrycarry=temp//10res=str(temp%10)+resi,j=i-1,j-1return str(carry)+res if carry>0 else res

leetcode刷题——415. 字符串相加相关推荐

  1. LeetCode刷题笔记 字符串 字符串匹配

    28 实现 strStr() 判断一个字符串是不是另一个字符串的子字符串,并返回其位置. 输入一个母字符串和一个子字符串,输出一个整数,表示子字符串在母字符串的位置,若不存在则返回-1. 输入:hay ...

  2. 【LeetCode笔记】415. 字符串相加(Java、字符串)

    题目描述 不能直接把字符串转换成整数(会溢出) 面试被问过,今天刷面经又刷到..那就索性水一篇文吧! 更新:原题就是 leetcode 415 思路 & 代码 只要理好字符串s.字符串t.答案 ...

  3. leetCode刷题--两数相加

    给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返回一个表示和的链表. 你可以假设除了数字 0 ...

  4. Leetcode刷题笔记-字符串总结

    首先明确两个概念:子串与子序列. 比如一个字符串"aaabbc"的一个子串为"aaa".而"abc"是它的一个子序列.即子串必须是在字符串中 ...

  5. C#LeetCode刷题-字符串

    字符串篇 # 题名 刷题 通过率 难度 3 无重复字符的最长子串 24.6% 中等 5 最长回文子串 22.4% 中等 6 Z字形变换 35.8% 中等 8 字符串转整数 (atoi) 15.3% 中 ...

  6. C#LeetCode刷题之#205-同构字符串(Isomorphic Strings)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3770 访问. 给定两个字符串 s 和 t,判断它们是否是同构的. ...

  7. LeetCode 415. 字符串相加 (逢十进一模版字符处理)

    415. 字符串相加 题意: 用两个字符串表示两个数 求出其相加的结果 不能使用任何内建 BigInteger 库 不能直接将输入的字符串转换为整数形式 思路: 翻转字符串,将其转为字符数组,即从下标 ...

  8. C#LeetCode刷题-数学

    数学篇 # 题名 刷题 通过率 难度 2 两数相加 29.0% 中等 7 反转整数 C#LeetCode刷题之#7-反转整数(Reverse Integer) 28.6% 简单 8 字符串转整数 (a ...

  9. leetcode刷题目录总结

    题目 题目 技巧 相似的题目 其他 1. 无序数组中找出目标为target的两个数 先定义下一个数,然后找两位的数是否存在 高频, 大厂刷题班, 第27节 2.逆序链表两数相加 链表.各位加法 高频, ...

最新文章

  1. 保持一颗好学之心(转)
  2. Mybatis使用接口开发
  3. Lync Server 2013 部署前端池支持NLB吗?
  4. 5月19-20日的上海 来一次纯粹的WebRTC之旅
  5. java版本-API接口测试框架搭建
  6. 光纤到桌面FTTD解决方案
  7. 飞思卡尔单片机高效c语言编程,飞思卡尔单片机高效c语言编程(中文)新.pdf
  8. 知识付费平台包括哪些功能版块?
  9. 【实习日报】2019年6月上半月 前端开发实习工作日报汇总
  10. Windows与虚拟机文件夹共享的设置方法
  11. 制作一个播放器(二)
  12. linux vnc登陆,vnc登陆,4个步骤教你vnc登陆Linux
  13. ReCap 360 photo照片建模技术的又一个例子
  14. Spring Boot 项目 - API 文档搜索引擎
  15. 实时空气质量监测解决方案
  16. 【OpenCV】cv2.putText()函数用法
  17. 系统集成都考什么,需要注意什么
  18. BLDC(直流无刷电机)反电动势测量/观测模型
  19. 搞不定Serverless?让你秒懂掌握Profiling让一份程序优雅自适应
  20. c语言概率产生字母,智邮普创c语言面试题 ---- 字母概率(示例代码)

热门文章

  1. 为jquery.AutoComplete添加触发事件
  2. Effective C# Item30:尽可能实现CLS兼容的程序集
  3. mysql创建用户和远程登录授权
  4. 做一个类似登录的循环
  5. cocos2dx实现翻书效果。
  6. Android OkHttp经验小结
  7. IIS装好了无法访问localhost
  8. 【LeetCode 69】Sqrt(x)
  9. 解决IE6下CSS兼容性的两把神器
  10. Lambda表达式改方法引用和构造器引用