对于两个数A和B;
如果A<B;-(B-A)
如果A>=B;A-B
与加分相同,先倒序放到两个数组,对于每一个如果a>b,那么直接a-b,如果a<b;需要借位,a+10-b
判断A和B谁大
bool cmp(vector<int> &A,vector<int> &B)
{
if(A.size()!=B.size()) return A.size()-B.size();
for(int i=A.size()-1;i>=0;i--)
if(A[i]!=B[i]) return A[i]-B[i];
return true;
}
C=A-B
vector<int> sub(vector<int> &A,vector<int> &B)
{
vector<int> C;
for(int i=0,t=0;i<A.size();i++)
{
t=A[i]-t;//如果发生借位,把借位的1剪掉
if(i<B.size()) t-=B[i];//判断B是否存在
C.push_back((t+10)%10);
if(t<0) t=1;
else t=0;
}
//删除前面可能存在的前导0
while(C.size()>1 && C.back()==0) C.pop_back();
return C;
}