题解 | #数字反转#

数字反转

https://www.nowcoder.com/practice/2687c5c174cb4f938bdae01f0a19490c

#include <bits/stdc++.h>
using namespace std;

string addString(string a,string b)
{
	string res;
	int carry=0;
	int i=a.size()-1;
	int j=b.size()-1;
	while(i>=0&&j>=0)
	{
		int num=a[i]-'0'+b[j]-'0'+carry;
		res+=num%10+'0';
		carry=num/10;
		i--;
		j--;
	}
	while(i>=0)
	{
		int num=a[i]-'0'+carry;
		res+=num%10+'0';
		carry=num/10;
		i--;
	}
	while(j>=0)
	{
		int num=b[j]-'0'+carry;
		res+=num%10+'0';
		carry=num/10;
		j--;
	}
	if(carry==1) res+='1';
	reverse(res.begin(),res.end());
	return res;
}
int main()
{
	string a,b;
	while(cin>>a>>b)
	{
		string res=addString(a,b);
		string res1=res;
		reverse(res1.begin(),res1.end());
		reverse(a.begin(),a.end());
		reverse(b.begin(),b.end());
		if(res1==addString(a,b)) cout<<res<<endl;
		else cout<<"NO"<<endl;
	}
	return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 13:15
点赞 评论 收藏
分享
06-25 16:25
梧州学院 Java
愿汐_:项目介绍那么长,然而你做了啥就一句话?
点赞 评论 收藏
分享
求offer的大角牛:不吃香菜
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务