【LC刷题】DAY08:151 55 28 459

2024-06-15 18:28
文章标签 刷题 28 151 lc 459 day08

本文主要是介绍【LC刷题】DAY08:151 55 28 459,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【LC刷题】DAY08:151 55 28 459

文章目录

  • 【LC刷题】DAY08:151 55 28 459
    • 151. 反转字符串中的单词 [link](https://leetcode.cn/problems/reverse-words-in-a-string/description/)
    • 55. 右旋字符串 [link](https://kamacoder.com/problempage.php?pid=1065)
    • 28. 找出字符串中第一个匹配项的下标 [link](https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/description/)
    • 459. 重复的子字符串[link](https://leetcode.cn/problems/repeated-substring-pattern/description/)

151. 反转字符串中的单词 link

class Solution {
public:string reverseWords(string s) {vector<string> ss;string tmp = "";for (char t : s) {if (t != ' ') {tmp += t;} else if (!tmp.empty()) { // 使用empty检查字符串是否为空ss.insert(ss.begin(), tmp);tmp = "";}}// 确保最后一个单词也被添加if (!tmp.empty()) {ss.insert(ss.begin(), tmp);}string result;for (const string& t : ss) {result += t;result += " "; // 将空格添加到每个单词后面,除了最后一个}// 移除末尾多余的空格if (!result.empty()) {result.pop_back();}return result;}
};

55. 右旋字符串 link

#include <iostream>
#include <cstring>
using namespace std;int main(){string s = "";int k;cin>>k;cin>>s;string result = "";for(int i = s.size()  - k; i < s.size() ; i ++ ){result += s[i];}for(int i = 0 ; i < s.size() - k; i++){result += s[i];}cout << result;return 0;
}

28. 找出字符串中第一个匹配项的下标 link

class Solution {
public:int strStr(string haystack, string needle) {int n = haystack.size(), m = needle.size();for (int i = 0; i + m <= n; i++) {bool flag = true;for (int j = 0; j < m; j++) {if (haystack[i + j] != needle[j]) {flag = false;break;}}if (flag) {return i;}}return -1;}
};

459. 重复的子字符串link

class Solution {
public:bool repeatedSubstringPattern(string s) {int n = s.size();for(int i = 1; 2 * i <= n; i++){if(n % i == 0 ){bool match = true;for(int j = i ; j < n; j ++){if(s[j] != s[j-i]){match = false;break;}}if(match){return true;}}}return false;}
};

这篇关于【LC刷题】DAY08:151 55 28 459的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1064230

相关文章

【每日刷题】Day113

【每日刷题】Day113 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 91. 解码方法 - 力扣(LeetCode) 2. LCR 098. 不同路径 - 力扣(LeetCode) 3. 63. 不同路径 II - 力扣(LeetCode) 1. 91. 解码方法 - 力扣(LeetCode) //思路:动态规划。 cl

【vue3|第28期】 Vue3 + Vue Router:探索路由重定向的使用与作用

日期:2024年9月8日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉在这里插入代码片得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^ 1.01365 = 37.7834;0.99365 = 0.0255 1.02365 = 1377.4083;0.98365 = 0.0006 说

hot100刷题第1-9题,三个专题哈希,双指针,滑动窗口

求满足条件的子数组,一般是前缀和、滑动窗口,经常结合哈希表; 区间操作元素,一般是前缀和、差分数组 数组有序,更大概率会用到二分搜索 目前已经掌握一些基本套路,重零刷起leetcode hot 100, 套路题按套路来,非套路题适当参考gpt解法。 一、梦开始的地方, 两数之和 class Solution:#注意要返回的是数组下标def twoSum(self, nums: Lis

代码随想录刷题day25丨491.递增子序列 ,46.全排列 ,47.全排列 II

代码随想录刷题day25丨491.递增子序列 ,46.全排列 ,47.全排列 II 1.题目 1.1递增子序列 题目链接:491. 非递减子序列 - 力扣(LeetCode) 视频讲解:回溯算法精讲,树层去重与树枝去重 | LeetCode:491.递增子序列_哔哩哔哩_bilibili 文档讲解:https://programmercarl.com/0491.%E9%80%92%E

代码随想录刷题day24丨93.复原IP地址 ,78.子集 , 90.子集II

代码随想录刷题day24丨93.复原IP地址 ,78.子集 , 90.子集II 1.题目 1.1复原IP地址 题目链接:93. 复原 IP 地址 - 力扣(LeetCode) 视频讲解:回溯算法如何分割字符串并判断是合法IP?| LeetCode:93.复原IP地址_哔哩哔哩_bilibili 文档讲解:https://programmercarl.com/0093.%E5%A4%8

【笔记】数据结构刷题09

快速排序 215. 数组中的第K个最大元素 class Solution {public:int findKthLargest(vector<int>& nums, int k) {return divide(nums,0,nums.size()-1,nums.size()-k);}int divide(vector<int>& nums,int left,int right,int k)

C语言:刷题日志(1)

一.阶乘计算升级版 本题要求实现一个打印非负整数阶乘的函数。 其中n是用户传入的参数,其值不超过1000。如果n是非负整数,则该函数必须在一行中打印出n!的值,否则打印“Invalid input”。 首先,知道阶乘是所有小于及等于该数的正整数的积,并且0的阶乘为1。那么我们先来个简单的阶乘计算吧。 #include<stdio.h>int Fact(int n){if (n <=

【每日刷题】Day112

【每日刷题】Day112 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 1137. 第 N 个泰波那契数 - 力扣(LeetCode) 2. 面试题 08.01. 三步问题 - 力扣(LeetCode) 3. LCR 088. 使用最小花费爬楼梯 - 力扣(LeetCode) 1. 1137. 第 N 个泰波那契数 - 力扣(LeetCo

【抽代复习笔记】28-群(二十二):四道子群例题

例1:证明,循环群的子群是循环群。 证:设G = (a),H ≤ G。 (1)若H = {e},则H是一阶循环群; (2)设H至少包含2个元素,即设H = {...,a^(-k),a^(-j),a^(-i),a^0,a^i,a^j,a^k,...}, 其中a^i是H中正指数最小的元素,0<i<j<k, 下证a^i是H的生成元: 对任意的a^t∈H(t∈Z),存在q∈Z,使得t = qi

【数据结构】【java】leetcode刷题记录--链表

简介 链表是一种常见的基础数据结构,它由一系列节点组成,每个节点包含数据域和指向下一个节点的指针。在Java中,链表通常用于实现动态数据结构,因为它可以根据需要动态地增加或减少节点。 链表简介: 节点结构:链表中的每个元素称为节点(Node),每个节点包含两部分:数据域(存储数据)和指针域(存储下一个节点的地址)动态性:链表的长度不是固定的,可以根据需要动态地增减节点。内存分配:链表中的节点