LeetCode 415. Add Strings

来源:互联网 发布:ps3网络设定 编辑:程序博客网 时间:2024/05/15 00:03

描述

给出两个字符串表示的大整数,求和

解决

模拟题,注意进位即可。


class Solution {public:    string addStrings(string num1, string num2) {        int i1 = num1.size() - 1;        int i2 = num2.size() - 1;        string res;        //reverse(num1.begin(), num1.end());        //reverse(num2.begin(), num2.end());        //int i1 = length1, i2 = 0;        int t = 0, carry = 0, cnt = 0;        while ((i1 >= 0 || i2 >= 0) || carry)        {            if(i1 >= 0 && i2 >= 0)            {                t = num1[i1] -'0' + num2[i2] - '0' + carry;                if (t <= 9)                {                    res += t + '0';                    carry = 0;                    cnt++;                }                else                {                    res += (t - 10) + '0';                     carry = 1;                    cnt++;                }                --i1, --i2;                continue;            }            else if (i1 >= 0)            {                t = num1[i1] - '0' + carry;                if (t <= 9)                {                    res += t + '0';                    carry = 0;                    cnt++;                }                else                {                    res += (t - 10) + '0';                    carry = 1;                    cnt++;                }                --i1;                continue;            }            else if (i2 >= 0)            {                t = num2[i2] - '0' + carry;                if (t <= 9)                {                    res += t + '0';                    carry = 0;                    cnt++;                }                else                {                    res += (t - 10) + '0';                    carry = 1;                    cnt++;                }                --i2;                continue;            }            res += carry + '0';            carry = 0;            ++cnt;        }     cout <<  res << endl;     reverse(res.begin(), res.begin() + cnt);     return string(res.begin(), res.begin() + cnt);    }};
0 0
原创粉丝点击