每日一題--LeetCode 415 (字串相加)java
阿新 • • 發佈:2018-11-09
題目描述:
解題思路:直接將兩個字串每一位提出來,相加,並且判斷是否有進位
insert方法和append方法的區別:insert可以在指定位置插入,append只能在最後位置插入
程式碼如下:
class Solution { public String addStrings(String Num1, String Num2) { //將字串轉變為陣列 char []num1=Num1.toCharArray(); char []num2=Num2.toCharArray(); int n=num1.length; int m=num2.length; int i=n-1,j=m-1,key=0; //str表示要返回的字串 StringBuilder str=new StringBuilder(); while(i>=0||j>=0){ int a=i>=0?num1[i--]-'0':0; int b=j>=0?num2[j--]-'0':0; int sum=key+a+b; //每次都將新的位新增到字串的最開始 str.insert(0,sum%10); key=sum/10; } //將兩個字串合併 if(key==1){ str.insert(0,1); } //將StringBuilder轉化為String return str.toString(); } }