Leetcode 415. 字符串相加
生活随笔
收集整理的這篇文章主要介紹了
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. 字符串相加的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 103.二叉树的锯齿形
- 下一篇: Mysql 日志系统 redo log