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

注意:

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

思路:从两个字符串最后一位开始相加,如果结果大于9,进位。 当有一个加完后,调用substring方法将剩余的字符串给拼接过去;

class Solution {public String addStrings(String num1, String num2) {if(num1==null || num2==null || num1.length()==0 || num2.length()==0 ){return "";}int len1=num1.length()-1;int len2=num2.length()-1;int result=0;String s="";int sum;while(len1>=0||len2>=0){if(len1<0&&len2>=0){  //num2 没加完sum=num2.charAt(len2)+result-'0'; if(result!=0){if(sum>9){result=1;s=String.valueOf(sum%10)+s;}else{s=String.valueOf(sum%10)+s;result=0;   }}else{s=num2.substring(0,len2+1)+s;result=0;break;}}if(len1>=0&&len2<0){sum=num1.charAt(len1)+result-'0'; if(result!=0){if(sum>9){result=1;s=String.valueOf(sum%10)+s;}else{s=String.valueOf(sum%10)+s;result=0;   }}else{s=num1.substring(0,len1+1)+s;result=0;break;}}if(len1>=0&&len2>=0){sum=num1.charAt(len1)+num2.charAt(len2)+result-2*'0';if(sum>9){result=1;s=String.valueOf(sum%10)+s;}else{s=String.valueOf(sum)+s;result=0;}}len1--;len2--;}if(result!=0){s=Integer.toString(result)+s;}return s;}
}

随笔-给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和相关推荐

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

    给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和. 不能直接将输入的字符串转换为整数形式. 思路:将字符串从最小位进行相加,最后形成的字符串倒置 class Solution {pu ...

  2. 两个字符串形式的非负整数的和,积

    1.给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和. 注: num1 和num2 的长度都小于 5100 num1 和num2 都只包含数字 0-9 num1 和num2 都不包含 ...

  3. 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。

    1.题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1: 输入: num1 = "2" ...

  4. 字符串相乘(给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。)

    43. 字符串相乘 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1: 输入: num1 = "2& ...

  5. 给定两个字符串,确定其中一个字符串的字符重新排列后,能否变成另一个字符串...

    1 /* 2 * 给定两个字符串,确定其中一个字符串的字符重新排列后,能否变成另一个字符串,其实也就是变位词问题 3 * 比如说 a='abc' b='acb'是可以通过a变成b的 4 * 思路; 5 ...

  6. js 比较两个字符串形式的时间的大小

    在日常中,时常会遇到需要判断两个字符串形式的时间的大小,如:'2019-11-01','2019-11-10'这两个时间的大小进行判断,以下就是解决方案: 1. 将字符串转化为Date对象 可以使用n ...

  7. LeetCode||有效的字母异位词(排列)--给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词

    原题链接:https://leetcode-cn.com/problems/valid-anagram 题目描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 示 ...

  8. 算法019:字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。

    题目:字符串轮转.给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串).示例1:输入:s1 = "waterb ...

  9. 给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。...

    给定两个字符串 s 和 t,它们只包含小写字母.字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母.请找出在 t 中被添加的字母. 示例: 输入: s = "abcd" ...

最新文章

  1. ABAP 在程序中启动后台JOB
  2. 【Redis】6.Redis key通用指令以及数据库的通用操作
  3. 笔记:windows 2012 安装SQL 2008 群集报错
  4. 7 Managing Users and Securing the Database
  5. android studio配置国内,Android studio配置国内镜像源
  6. matlab模拟光栅,matlab对光栅的仿真代码
  7. go和python对比的优缺点_Python与Golang对比
  8. 《Android进阶之光》— Android 书籍
  9. 总结搜索型手工注入的全过程
  10. unity 变量的编译
  11. 第一节 ISM Web工业可视化组态软件简介
  12. excel两个表格数据对比_Excel中两个表格对比,找出不同数据
  13. ARM汇编之合法立即数的快速判断方法
  14. 算法-斐波那契数列Fibonacci
  15. html正方体旋转效果,纯CSS3超酷3D旋转立方体动画特效
  16. python安装reporter
  17. Spark API 之subtract(差集)
  18. ctfshow_密码3
  19. python类的实例化和继承
  20. freecommander 快捷键列表 zz

热门文章

  1. Pulsar Summit Asia 2020 | 场景案例论坛(上):多行业,多场景
  2. 【知识图谱问答】DBpedia介绍
  3. Handling Complexity in the Halo 2 AI
  4. 豆瓣社区:《如何高效学习》应用与心得
  5. 交易心得(简要总结)
  6. Struts+Spring+Hibernate处理Lob(Blob,Clob)--sessionFactory中注入 org.springframework.jdbc.support.lob.Def
  7. Airwallex 基于 Flink 打造实时风控系统
  8. Adobe Illustrator 学习笔记1 跟随Brain Wood的教程
  9. Tesseract综述
  10. 如何从固态硬盘启动计算机,怎么把固态硬盘设置为第一启动系统