赞
踩
struct S { char a; int val; }U[7] = { {'I',1},{'V',5},{'X',10},{'L',50},{'C',100},{'D',500},{'M',1000} }; int romanToInt(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; long long 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; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。