Leetcode 415. 字符串相加
2021/12/11 23:47:08
本文主要是介绍Leetcode 415. 字符串相加,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
难度:简单
频率:119
题目:
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。
你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。
解题方法:加法算术的模拟过程
解题思路:
- 1.加法法则,无非是位数相加,满十进一,所以这里需要两个指针指向连个数组,还有一个进位;
- 2.以此相加,如果位数不够,则补0;
- 3.每次结果进位加到进位位,剩下的append到结果里。
- 4.最后把结果相反就行。res
代码
class Solution { public String addStrings(String num1, String num2) { StringBuilder res=new StringBuilder(); int i=num1.length()-1; int j=num2.length()-1; int add=0; while(i>=0 ||j>=0 ||add >0) { int x=i>=0?num1.charAt(i)-'0':0; int y=j>=0?num2.charAt(j)-'0':0; int sum=x+y+add; add=sum/10; res.append(sum%10); i--; j--; } return res.reverse().toString(); }
需要注意的地方:
1.尽量用StringBuilder,因为String是static
2.取字符是charAt(i)
3.判断条件里加了进位add的判断后,不需要最后再进行处理,否则最后还要加进位位在最前面。
4.最后需要取反,reverse,然后转字符串。 StringBuilder 最后转String,toString
这篇关于Leetcode 415. 字符串相加的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27Rocket消息队列资料:新手入门指南
- 2024-11-27rocket消息队资料详解与入门指南
- 2024-11-27RocketMQ底层原理资料详解入门教程
- 2024-11-27RocketMQ项目开发资料:新手入门教程
- 2024-11-27RocketMQ项目开发资料详解
- 2024-11-27RocketMQ消息中间件资料入门教程
- 2024-11-27初学者指南:深入了解RocketMQ源码资料
- 2024-11-27Rocket消息队列学习入门指南
- 2024-11-26Rocket消息中间件教程:新手入门详解
- 2024-11-26RocketMQ项目开发教程:新手入门指南