当前位置:   article > 正文

字符串(数字)相加_字符串数字相加

字符串数字相加

在这里插入图片描述
字符串相加

class Solution {
public:
    string addStrings(string num1, string num2) {
        int len1=num1.length()-1,len2=num2.length()-1;
        string ret="";
        //ret.resize(num2.length()>num1.length()?num1.length():num2.length());
        int add=0;//进位
        while(len1>=0||len2>=0||add!=0)
        {
            int x= len1>=0 ? num1[len1]-'0' : 0;
            int y= len2>=0 ? num2[len2]-'0' : 0;

            len1--;len2--;
            int result=x+y+add;
            //cout<<result<<endl;
            ret.push_back(result%10+'0');
            add=result/10;
        }
        reverse(ret.begin(),ret.end());//要反转,因为相加过程是把低位相加存在低位,而实际用字符串存数字,在低位(下标处)存的是数字的高位
        return ret;
    }
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

字符串相加,有很多地方要注意,两串长不一致,进位数据的保存,和两数相加后的进位处理,以及循环控制,和边界判断

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号