leetCode 415 字符串相加(模拟加法)

题目链接:点击查看

题目描述:

给定两个由数字组成的字符串,求它们相加的结果。
 
输入输出:
 
输入: num1 = "99",  num2 = "1"
 
输出: 100
题目分析:
 
本题考查加法的原理及对于加法的模拟。因为相加运算是从后往前进行的,所以可以先翻转字符串,再逐位计算。这种类型的题注重考察的是细节,如进位、位数差等等。详见如下代码。
 
代码:
string addStrings(string num1,string num2)
{
   string output("");//将两数的和以字符串的形式输出 可以摆脱整型大小的限制 
   reverse(num1.begin(),num1.end());//翻转字符串 方便从后向前计算 
   reverse(num2.begin(),num2.end());
   int onelen=num1.length(),twolen=num2.length();//onelen twolen分别表示num1,num2的长度 
   if(onelen<=twolen)
   {
      swap(num1,num2);
	  swap(onelen,twolen);
   }	
   int addbit=0;//用来记录是否需要进位 需要进位则在 
   for(int i=0;i

 
 
 
 
 
 

你可能感兴趣的:(早年算法竞赛学过的知识点,leetcode,算法,字符串,c++)