前言:
现在各位老铁们对“字符串的加法怎么实现”大致比较注重,各位老铁们都想要分析一些“字符串的加法怎么实现”的相关资讯。那么小编也在网上汇集了一些关于“字符串的加法怎么实现””的相关内容,希望姐妹们能喜欢,兄弟们快快来了解一下吧!给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。
注意:
num1 和num2 的长度都小于 5100.
num1 和num2 都只包含数字 0-9.
num1 和num2 都不包含任何前导零。
你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。
解题思路:双指针实现人工加法,通过stringbuilder存储结果,最后反转
public String addStrings(String num1, String num2) { int carry = 0; StringBuilder sb = new StringBuilder(""); for(int i = num1.length() - 1, j = num2.length() - 1; i >= 0 || j >= 0; i--,j--){ int num1c = 0; if(i >= 0){ num1c = num1.charAt(i) - '0'; } int num2c = 0; if(j >= 0){ num2c = num2.charAt(j) - '0'; } int sum = num1c + num2c + carry; carry = sum / 10; sb.append(sum % 10); } if(carry > 0){ sb.append(carry); } return sb.reverse().toString(); }
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #字符串的加法怎么实现