LeetCode刷题笔记-简单

#1 两数之和

  • vector 用法;
  • nums.size()先计算比直接用效率高;
class Solution {
public:
    vector twoSum(vector& nums, int target) {
        vector ret;
        int N = nums.size();
        for(int i = 0; i <  N - 1; i++) {
           for(int j = i + 1; j < N; j++) {
               if(nums[i] + nums[j] == target) {
                   ret.push_back(i);
                   ret.push_back(j);
                   return ret;
               }
           } 
        }
        return ret;
    }
};

#7 颠倒整数

  • 32位int: -2147483648~2147483647
  • limits.h:INT_MAX,  INT_MIN
class Solution {
public:
    int reverse(int x) {
        long long a = x, b = 0;
        while(a != 0)
        {
            b = b * 10 + a % 10;
            a /= 10;
        }
        return (b > INT_MAX || b < INT_MIN) ? 0 : b;
    }
};

#9 回文数

class Solution {
public:
    bool isPalindrome(int x) {
        if(x<0) return false;
        else if(x < 10) return true;
        else {
            int a = x, b = 0;
            while(a > 0) {
                b = b * 10 + a % 10;
                a = a / 10;
            } 
            if(b == x) return true;
            else return false;
        }
    }
};

#13 罗马数字转整数


你可能感兴趣的:(LeetCode刷题笔记-简单)