Google/LintCode:E-Big Integer Addition
来源:互联网 发布:js1-400拌和机技术数据 编辑:程序博客网 时间:2024/06/07 23:59
题目
题目来源:Link
Given two non-negative integers num1
and num2
represented as string, return the sum of num1
and num2
.
注意事项
- The length of both num1 and num2 is < 5100.
- Both num1 and num2 contains only digits 0-9.
- Both num1 and num2 does not contain any leading zero.
- You must not use any built-in BigInteger library or convert the inputs to integer directly.
样例
Given num1 = "123"
, num2 = "45"
return "168"
代码
(1)用Java内置BigInteger
import java.math.BigInteger;public class Solution { /** * @param num1 a non-negative integers * @param num2 a non-negative integers * @return return sum of num1 and num2 */ public String addStrings(String num1, String num2) { // Write your code here BigInteger bnum1 = new BigInteger(num1); BigInteger bnum2 = new BigInteger(num2); BigInteger sum = bnum1.add(bnum2); return sum.toString(); }}
(2)自己实现大数
import java.math.BigInteger;public class Solution { /** * @param num1 a non-negative integers * @param num2 a non-negative integers * @return return sum of num1 and num2 */ public String addStrings(String num1, String num2) { // Write your code here int n1 = num1.length(); int n2 = num2.length(); int n = Math.min(n1,n2); String rnum1 = new StringBuffer(num1).reverse().toString(); String rnum2 = new StringBuffer(num2).reverse().toString(); String res=""; int up = 0; int i=0; for(; i<n; i++){ int sum = Integer.parseInt(String.valueOf(rnum1.charAt(i)))+Integer.parseInt(String.valueOf(rnum2.charAt(i)))+up; up = sum/10; int re = sum%10; res = res + re; } while(i<n1){ int sum = Integer.parseInt(String.valueOf(rnum1.charAt(i)))+up; up = sum/10; int re = sum%10; res = res + re; i++; } while(i<n2){ int sum = Integer.parseInt(String.valueOf(rnum2.charAt(i)))+up; up = sum/10; int re = sum%10; res = res + re; i++; } //忘记了这个case //最后可能还有进位 if(up!=0) res+=up; return new StringBuffer(res).reverse().toString(); }}
阅读全文
0 0
- Google/LintCode:E-Big Integer Addition
- LintCode :Big Integer Addition
- lintcode(655)Big Integer Addition
- LintCode python 小白4-Big Integer Addition
- Big Integer Addition
- [Amazon] Big Integer Addition
- Big Integer Addition
- Big Integer Addition
- lintcode(656)Big Integer multiplication
- Big Integer Addition存储在字符串内的整数相加
- Google/LintCode:E-Guess Number Game
- Google-APAC2015-Addition (1)
- Google-APAC2015-Addition (2)
- LintCode(E)
- Sicily 1020 Big Integer
- sicily 1020 Big Integer
- 1020. Big Integer
- Sicily.1020. Big Integer
- Android TV热键(快捷键、组合键)实现
- 注解(Annotation)基本概念
- 微服务架构的基础框架选择:Spring Cloud还是Dubbo?
- sturct和class的区别
- JS的编程实现
- Google/LintCode:E-Big Integer Addition
- Django实现用户登录
- 2017暑期集训Day 25 树状数组
- 华硕B250主板组装机安装win7及office2010
- Android fill_parent、wrap_content和match_parent的区别
- javascript中的常用对象
- 虚函数和纯虚函数的区别
- H5---面试题二
- HDU