1. 程式人生 > >每日一題--LeetCode 415 (字串相加)java

每日一題--LeetCode 415 (字串相加)java

題目描述:

解題思路:直接將兩個字串每一位提出來,相加,並且判斷是否有進位

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();
    }
}