DAY9 - 151.翻转字符串里的单词,卡码网:55.右旋转字符串,28. 实现 strStr(),459. 重复的子字符串

news/2025/3/28 9:15:28/文章来源:https://www.cnblogs.com/chloechen/p/18791185

151.翻转字符串里的单词

把复杂问题拆分成简单问题的能力比较薄弱。比如这个问题中:

删除空格 =》删除字符串中的元素并且添加

调转单词=》先把整串字符串倒转,再分别倒转正每个单词

class Solution {
public:string reverseWords(string s) {// 移除空格 跟移除元素操作一样int slow=0;for(int fast=0;fast<s.size();fast++){if(s[fast]!=' '){if(slow!=0) s[slow++]=' ';  //增加空格while(fast<s.size()&&s[fast]!=' '){  //单词直接copys[slow++]=s[fast++];}}}s.resize(slow);//反转整个字符串for(int i=0,j=s.size()-1;i<j;i++,j--){swap(s[i],s[j]);}//把单词转正int i=0,j=0;while(i<s.size()&&j<s.size()){while(j<s.size()&&s[j]!=' ') {j++;}for(int m=i,n=j-1;m<n;m++,n--){swap(s[m],s[n]);}i=j+1;j=i;}return s;}
};

删除空格这里有点没有看懂,晕晕的。

卡码网:55.右旋转字符串

字符串转来转去就都是反转字符串的延申。

这个的思路就是先整个字符串反转,再分别反转前后两个子串。

#include <iostream>
#include <string>
using namespace std;int main(){string s;int k;cin >> k;cin >> s;for(int i=0,j=s.size()-1;i<j;i++,j--){swap(s[i],s[j]);}for(int i=0,j=k-1;i<j;i++,j--){swap(s[i],s[j]);}for(int i=k,j=s.size()-1;i<j;i++,j--){swap(s[i],s[j]);}cout << s;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/905421.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DeepSeek 官方推出的实用集成工具百宝箱,建议收藏!

项目介绍 该实用集成工具百宝箱汇聚了DeepSeek官方精心挑选和推荐的各类集成工具(其中包括:应用程序、AI Agent 框架、AI数据应用框架、RAG 框架、浏览器插件、VS Code 插件等),旨在帮助用户轻松实现DeepSeek功能的扩展与应用。无论你是AI开发者、数据分析师还是普通用户,…

律所管理太费劲?用对系统,让你的律所越做越大!

做律所管理,光会打官司不够,你得是个“ 全能型选手 ”。 不仅要懂法律,还得会 经营、管理、营销、服务 。否则,客户难找、团队不好带、案子越来越乱,日子也越来越难过。 那具体需要哪些能力呢?这 六大能力 ,每一项都很重要,但要靠人工管理,效率太低,容易出错。这时候…

20244221李留斌《python程序设计》实验一报高

20244104 2024-2025-2 《Python程序设计》实验x报告 课程:《Python程序设计》 班级:2442 姓名:李留斌 学号:20244221 实验教师:王志强 实验日期:2025年3月23日 必修/选修: 公选课 一、实验内容 1.熟悉Python开发环境; 2.练习Python运行、调试技能; 3.编写程序,练习…

Pydantic异步校验器深:构建高并发验证系统

title: Pydantic异步校验器深:构建高并发验证系统 date: 2025/3/25 updated: 2025/3/25 author: cmdragon excerpt: Pydantic异步校验器基于async/await实现非阻塞验证,支持DNS查询等网络操作。高并发场景下运用批量API验证与异步数据库查询,通过asyncio.gather提升吞吐效…

《电子营业执照》的下载及使用

【电子营业执照的下载及使用】可以直接点此进行学习,也可以看下面我自己写的 一、电子营业执照的下载 (1)打开法人的手机微信,在微信中搜索“电子营业执照小程序”(2)点击“下载执照”(3)输入身份信息(4)人脸识别(5)选择登记地“甘肃”(6)下载执照二、电子营业执…

3月24日练习

第五题:最优配餐 考点:多源bfs 当权重(每条边开销为1)的最短路问题可以用bfs 做法:将每个分店先入队,然后依次对每个分店向前后左右走,只要能到达客户那里那么当前饭店就是距离客户最近的饭店,满足了这个客户以后要对这个用户标注不重复遍历。 算法思想:#include<b…

lc 315. 计算右侧小于当前元素的个数

```C typedef struct Node {int num; // 值int index; // 原数组索引int size; // 逆序对数量 } Node;class Solution { public:void mergeSort(vector<Node> &arr, int left, int right) {if (left >= right) return;int mid = (left + right) >> 1;…

windows 修改chrome默认安装目录

现在最新版的 Chrom 在安装时仍然不允许用户选择安装路径, 32 位版本会安装到 C:\Program Files (x86)\Google\Chrome 目录,64 位版本会安装到 C:\Program Files\Google\Chrome 目录,而其用户数据目录仍然被设置在当前用户目录下 C:\Users\%USERPROFILE%\AppData\Local\Goog…

Android 8.0系统的通知栏适配

为什么要进行通知栏适配? 现在经常是早上一觉醒来拿起手机一看,通知栏上全是各种APP的推送,烦。随着智能手机发展的成熟,通知栏搞得越来越不讨人喜欢了。各个App都希望抢占通知栏的空间,来尽可能地销售自己的产品。 通知栏是Android系统原创的,虽说乔布斯一直认为Android…

日事清25年战略目标如何高效执行?企业组织架构优化与项目管理全流程解析

如何使用日事清搭建一份可实现的25年战略目标-执行体系?在这个快节奏的商业世界里,每个企业都需要弄清楚几个超重要的问题: 首先,你的企业使命和抱负够不够清晰 ——能不能让每一个员工充满归属感和使命感? 然后,你们团队有没有一个明确的目标体系?还是只是在“摸着石头…

Obsidian 笔记一键转换发布为 Jekyll 博客

Obsidian 是一款功能强大且灵活的知识管理和笔记软件,与 Jekyll 这一轻量级静态博客框架的结合,既能保留 Obsidian 的网状知识关联优势,又能借助 Jekyll 的高效编译能力快速生成标准化博文。 Obsidian 笔记自动转换为 Jekyll 博客一文介绍了如何把挑选出的 Obsidian 笔记转换…

变更《营业执照》操作流程

第一步:打开甘肃政务服务网 https://zwfw.gansu.gov.cn/ 第二步:登录 (1)右上角(2)点“法人登录”(3)点“电子营业执照登录”第三步:使用【电子营业执照】的【扫一扫】进行登录 (1)打开法人的手机微信,在微信中搜索“电子营业执照小程序”(2)点击“扫一扫”(3)…