美文网首页
415. 字符串相加

415. 字符串相加

作者: __LXF__ | 来源:发表于2020-03-10 11:44 被阅读0次

    1、思路

    同时遍历两个字符串,以较长的那个长度为遍历次数,短的那个不足的以0充当;遍历完成后,检查最高位是否产生进位。

    2、实现代码(C++)

    class Solution {
    public:
        string addStrings(string num1, string num2) {
            int len1 = num1.length() - 1;
            int len2 = num2.length() - 1;
            int carry = 0;
            string res = "";
            while (len1 >= 0 || len2 >= 0) { 
                int n1 = len1 < 0 ? 0 : num1[len1--]-'0';  // 若num1先遍历完,以0填充  
                int n2 = len2 < 0 ? 0 : num2[len2--]-'0';  // 若num2先遍历完,以0填充  
                int n = n1 + n2 +carry;
                res += n % 10 + '0';
                carry = n / 10;
            }
            // 判断较长的那个字符串遍历完后,是否产生进位
            if (carry == 1) {
                res += 1 + '0';
            }
            reverse(res.begin(), res.end());
            return res;
        }
    };
    

    相关文章

      网友评论

          本文标题:415. 字符串相加

          本文链接:https://www.haomeiwen.com/subject/ghfwdhtx.html