【日志】力扣58.最后一个单词的长度//14.最长公共前缀//28. 找出字符串中第一个匹配项的下标
2024.11.6
【力扣刷题】
58. 最后一个单词的长度 - 力扣(LeetCode)https://leetcode.cn/problems/length-of-last-word/?envType=study-plan-v2&envId=top-interview-150
int lengthOfLastWord(char* s) {
int count = 0;
for (int i = strlen(s) - 1; i >= 0; i--) { // 逆序查找,从后往前遍历
if (s[i] != ' ') {
count++;
} else {
if (count == 0) // 当末尾为空格时,count为0,不返回结果,跳过该次循环
continue;
else
return count;
}
}
return count;
}
14. 最长公共前缀 - 力扣(LeetCode)https://leetcode.cn/problems/longest-common-prefix/?envType=study-plan-v2&envId=top-interview-150
char* longestCommonPrefix(char** strs, int strsSize) { // 两个*说明是传进一个二维数组
char* str = strs[0]; // 设置一个指针数组,并接收该二维数组的首行元素
for (int i = 0; i < strlen(strs[0]); i++) { // 使i不超过首行元素的大小
for (int j = 1; j < strsSize; j++) { // 遍历二维数组的行数
// 判断同一列,每行元素是否相同
if (strs[j][i] != str[i])
{
str[i] = '\0';
return str;
}
}
}
return str;
}
28. 找出字符串中第一个匹配项的下标 - 力扣(LeetCode)https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/description/?envType=study-plan-v2&envId=top-interview-150
int strStr(char* haystack, char* needle) {
int hSize = strlen(haystack);
int nSize = strlen(needle);
for (int i = 0; i + nSize <= hSize; i++) {
bool flag = false; //控制是否符合输出条件
// 控制从i列开始,是否有连续的元素相等
for (int j = 0; j < nSize; j++) {
if (haystack[i + j] != needle[j]) {
flag = false;
break;
}
else
{
flag = true;
}
}
if(flag)
{
return i;
}
}
return -1;
}
——每天努力十五分钟,一年就努力了5475分钟,也就是91.25小时。(记得乘上0.7,这是扣去双休和法定的节假日的时间的)