ACM模板列表 https://blog.csdn.net/nameofcsdn/article/details/107235360
//二进制中1的个数
//把整数转化为字符串
//把字符串转化为整数
//把字符串转化为整数
//二进制中1的个数 int hammingWeight(int n) { int ans = 0; while (n) { n ^= (n&(-n)); ans++; } return ans; } //把整数转化为字符串 char* itoa(int num,char* str,int radix) //copy from 百度百科 {/*索引表*/ char index[]="0123456789ABCDEF"; unsigned unum;/*中间变量*/ int i=0,j,k; /*确定unum的值*/ if(radix==10&&num<0)/*十进制负数*/ { unum=(unsigned)-num; str[i++]='-'; } else unum=(unsigned)num;/*其他情况*/ /*转换*/ do{ str[i++]=index[unum%(unsigned)radix]; unum/=radix; }while(unum); str[i]='\0'; /*逆序*/ if(str[0]=='-') k=1;/*十进制负数*/ else k=0; for(j=k;j<=(i-1)/2;j++) { char temp; temp=str[j]; str[j]=str[i-1+k-j]; str[i-1+k-j]=temp; } return str; } //把字符串转化为整数 int atoi(const char *nptr,int radix) //copy from somebody { while ( isspace((int)(unsigned char)*nptr) ) ++nptr;/* skip whitespace */ int c = (int)(unsigned char)*nptr++; int sign = c; /* save sign indication */ if (c == '-' || c == '+') c = (int)(unsigned char)*nptr++; /* skip sign */ int total = 0; while (isdigit(c)) { total = radix * total + (c - '0'); /* accumulate digit */ c = (int)(unsigned char)*nptr++; /* get next char */ } if (sign == '-') return -total; else return total; /* return result, negated if necessary */ } //把字符串转化为整数 class Solution { public: long long numstrToInt(string s) { if (!s.length()) { return 0; } if (s[0] == '0') { return numstrToInt(s.substr(1, s.length() - 1)); } long long ans = 0; for (int i = 0; i < s.length() && i<11; i++) { if (!isdigit(s[i])) { break; } ans = ans * 10 + s[i] - '0'; } return ans; } int lltoint(long long x) { if (x < INT_MIN) { return INT_MIN; } if (x > INT_MAX) { return INT_MAX; } return int(x); } int strToInt(string str) { if (!str.length()) { return 0; } if (str[0] == ' ') { return strToInt(str.substr(1, str.length() - 1)); } if (str[0] == '+') { return lltoint(numstrToInt(str.substr(1, str.length() - 1))); } if (str[0] == '-') { return lltoint(-numstrToInt(str.substr(1, str.length() - 1))); } if (isdigit(str[0])) { return lltoint(numstrToInt(str)); } return 0; } };