領釦LintCode演算法問題答案-1343. 兩字串和

二當家的白帽子發表於2020-10-06

領釦LintCode演算法問題答案-1343. 兩字串和

1343. 兩字串和

描述

給定兩個僅含數字的字串,你需要返回一個由各個位之和拼接的字串

A 和 B 是由數字組成的字串

樣例 1:

輸入:
A = "99"
B = "111"
輸出: "11010"
解釋: 因為 9 + 1 = 10, 9 + 1 = 10, 0 + 1 = 1,連線之後的結果是 "11010"

樣例 2:

輸入:
A = "2"
B = "321"
輸出: "323"
解釋: 因為 1 + 2 = 3, 2 + 0 = 2, 3 + 0 = 3,連線之後的結果是 "323"

題解

public class Solution {
    /**
     * @param A: a string
     * @param B: a string
     * @return: return the sum of two strings
     */
    public String SumofTwoStrings(String A, String B) {
        // write your code here
        StringBuilder ret = new StringBuilder();
        int aIndex = 0;
        int bIndex = 0;
        if (A.length() > B.length()) {
            ret.append(A, 0, A.length() - B.length());
            aIndex = A.length() - B.length();
        } else if (A.length() < B.length()) {
            ret.append(B, 0, B.length() - A.length());
            bIndex = B.length() - A.length();
        }
        for (;aIndex < A.length() && bIndex < B.length(); aIndex++,bIndex++) {
            int n = (A.charAt(aIndex) - 48) + (B.charAt(bIndex) - 48);
            ret.append(n);
        }
        return ret.toString();
    }
}

原題連結點這裡

鳴謝

非常感謝你願意花時間閱讀本文章,本人水平有限,如果有什麼說的不對的地方,請指正。
歡迎各位留言討論,希望小夥伴們都能每天進步一點點。

相關文章