目录
第1题:Z 字形变换
第2题:删除字符串中的所有相邻重复项
第3题:基本计算器 II
第4题:螺旋矩阵
第5题:螺旋矩阵 II
第6题:盛最多水的容器
第7题:删除有序数组中的重复项 II
第8题:搜索旋转排序数组 II
第9题:平方数之和
第10题:最接近的三数之和
力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升。
第1题:Z 字形变换试题要求如下:
解题思路:
回答(C语言):
char * convert(char * s, int numRows){
int n = strlen(s);
if (numRows == 1) return s;
char* res = (char*)malloc(sizeof(char) * (n + 1));
int k = 0;
for (int i = 0; i < numRows; i++) {
for (int j = 0; j < n; j++) {
if (j % (2 * numRows - 2) == i ||
j % (2 * numRows - 2) == 2 * numRows - 2 - i) {
res[k++] = s[j];
}
}
}
res[k] = '\0';
return res;
}
运行效率如下所示:
试题要求如下:
回答(C语言):
char* removeDuplicates(char* S) {
int n = strlen(S);
char* stk = malloc(sizeof(char) * (n + 1));
int retSize = 0;
for (int i = 0; i < n; i++) {
if (retSize > 0 && stk[retSize - 1] == S[i]) {
retSize--;
} else {
stk[retSize++] = S[i];
}
}
stk[retSize] = '\0';
return stk;
}
运行效率如下所示:
试题要求如下:
回答(C语言):
int calculate(char* s) {
int n = strlen(s);
int stk[n], top = 0;
char preSign = '+';
int num = 0;
for (int i = 0; i < n; ++i) {
if (isdigit(s[i])) {
num = num * 10 + (int)(s[i] - '0');
}
if (!isdigit(s[i]) && s[i] != ' ' || i == n - 1) {
switch (preSign) {
case '+':
stk[top++] = num;
break;
case '-':
stk[top++] = -num;
break;
case '*':
stk[top - 1] *= num;
break;
default:
stk[top - 1] /= num;
}
preSign = s[i];
num = 0;
}
}
int ret = 0;
for (int i = 0; i < top; i++) {
ret += stk[i];
}
return ret;
}
运行效率如下所示:
试题要求如下:
解题思路:
可以将矩阵看成若干层,首先输出最外层的元素,其次输出次外层的元素,直到输出最内层的元素。
回答(C语言):
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* spiralOrder(int** matrix, int matrixSize, int* matrixColSize, int* returnSize) {
if (matrixSize == 0 || matrixColSize[0] == 0) {
*returnSize = 0;
return NULL;
}
int rows = matrixSize, columns = matrixColSize[0];
int total = rows * columns;
int* order = malloc(sizeof(int) * total);
*returnSize = 0;
int left = 0, right = columns - 1, top = 0, bottom = rows - 1;
while (left
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?