还没有背单词,头晕脑胀
Num 66 加一 Plus One
注意就是进位的时候最后一位,为了省两句代码,那几个语句顺序写反覆盖的乱七八糟
vector头部插入(a.begin(),被插入的数)
如果是(a.begin()+2,被插入的数字)
是指在序号为2的前面插入(有空试一下)
class Solution { public: vector<int> plusOne(vector<int>& digits) { int a[10000]; int ans; memset(a,0,sizeof(a)); int len=digits.capacity(); a[len-1]=1; for(int i=len-1;i>0;i--) { ans=a[i]+digits[i]; a[i-1]=ans/10; digits[i]=ans%10; } int cun=(a[0]+digits[0])%10; if((a[0]+digits[0])>=10) { digits.insert(digits.begin(),1); digits[1]=cun; } else digits[0]=cun; return digits; } };View Code
Num 69 x的平方根 Sqrt(x)
用了极其蠢的枚举法,另外测试注意1,还有就是数据范围超过int不知道为啥给了个int。。。
class Solution { public: int mySqrt(long x) { for(int i=0;i<=x;i++) if(x==(long)i*i) return i; else if((long)i*i>x) return i-1; return 0; } };View Code