这些题目对我来说,是在学习任务不重,没有什么代码打的时候保持手感的,所以没有按顺序刷题,有空看见有兴趣的就做一两道
#7 反转整数
class Solution {
public:
int reverse(int x) {
bool tag = x <= 0;
long ans;
int tmp;
x = abs(x);
for (ans = 0; x > 0; x = x / 10)
{
tmp = x % 10;
ans = ans * 10 + tmp;
}
if (ans > INT_MAX)
return 0;
else
{
if (tag)
return (int)(-ans);
else
return ans;
}
}
};
#77 组合
class Solution {
public:
vector<vector<int>> combine(int n, int k)
{
vector<vector<int>> ans;
if (n == 0 || k == 0)
return ans;
vector<int> arr;
for (int i = 1; i <= n - k + 1; ++i)
helper(ans, i, n, k, arr);
return ans;
}
void helper(vector<vector<int>>& ans, int start, int n, int k, vector<int> arr)
{
arr.push_back(start);
if (k == 1)
{
ans.push_back(arr);
return;
}
k--;
for (int i = start + 1; i <= n - k + 1; ++i)
helper(ans, i, n, k, arr);
}
};