structS{char a;int val;}U[7]={{'I',1},{'V',5},{'X',10},{'L',50},{'C',100},{'D',500},{'M',1000}};intromanToInt(char* s){int sum=0;int i =0;char* p = s;while(*p){for(i =0; i <7; i++){if(*p == U[i].a){
sum += U[i].val;if(*p +1!='\0'){if(i %2==0&& i !=6&&(*(p +1)== U[i +1].a ||*(p +1)== U[i +2].a)){
sum -=2* U[i].val;}}}}
p++;}return sum;}
回文数
bool isPalindrome(int x){int a = x;int b = x;longlong sum =0;if(x <0){return false;}while(b){
a = b;
a %=10;
sum += a;if(b >=10){
sum *=10;}
b /=10;}if(sum == x){return true;}else{return false;}}
两数之和
int*twoSum(int* nums,int numsSize,int target,int* returnSize){int i =0, j =0;int* result =NULL;for(i =0; i < numsSize -1; i++){for(j = i +1; j < numsSize; j++){if(nums[i]+ nums[j]== target){
result =(int*)malloc(sizeof(int)*2);
result[0]= i;
result[1]= j;*returnSize=2;return result;}}}*returnSize=0;return result;}