数组与字符串(5)_LC:415

这篇博客主要解析了LeetCode中的415题,即如何在字符串形式下计算两个非负整数的和。文章介绍了使用charAt()方法逐位相加,并处理进位的思路,强调了使用StringBuffer而非String的原因,以及如何将结果转换为正确格式。时间复杂度和空间复杂度也被详细分析,分别为O(max(m,n)),其中m和n为字符串长度。" 8219728,743613,解决Java jps权限问题及原理分析,"['Java', '性能监控', '系统权限', '错误排查']
摘要由CSDN通过智能技术生成

5.LC415:字符串

415. 字符串相加 - 力扣(LeetCode) (leetcode-cn.com)

难度:简单

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

提示:

num1 和num2 的长度都小于 5100

num1 和num2 都只包含数字 0-9

num1 和num2 都不包含任何前导零

你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式

 

思路:

使用charAt()方法,将字符串num1和num2相对应位置上的字符取出,然后转换成int类型,进行相加

三个细节点:

  • 使用StringBuffer而不使用String:处理最后产生进位时,导致相加结果的位数不确定的问题
  • num1.charAt(i) - '0':处理字符类型和int类型相对应的问题
  • 最后需要将res反转过来,再转换成String类型,才能输出

代码:

class Solution {
    public String addStrings(String num1, String num2) {
        //使用StringBuf
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值