leedcode刷题--day7(字符串)

23

文章讲解
力扣地址

在这里插入图片描述
C++

class Solution {
public:void reverseString(vector<char>& s) {int left = 0;int right = s.size() - 1; // right 应该初始化为 s.size() - 1while (left < right) {swap(s[left], s[right]); // 直接交换 s[left] 和 s[right] 的值left++;right--;}}
};

Python

class Solution(object):def reverseString(self, s):""":type s: List[str]:rtype: None Do not return anything, modify s in-place instead."""left=0n = len(s)-1right=nwhile(left<right):s[left], s[right] = s[right], s[left]left+=1right-=1

24

文章讲解
力扣地址
在这里插入图片描述

class Solution {
public:string reverseStr(string s, int k) {int n = s.size();for (int i = 0; i < n; i += 2*k) {//每次处理2k个字符int left = i;int right = min(i + k - 1, n - 1);while (left < right) {swap(s[left], s[right]);left++;right--;  // 更新 left 和 right 的值}}return s;}
};
class Solution(object):def reverseStr(self, s, k):""":type s: str:type k: int:rtype: str"""s1=list(s)left=0right=0n = len(s1)for i in range(0,n,2*k):left = iright=min(i+k-1,n-1)while left<right:s1[left],s1[right]=s1[right],s1[left]left+=1right-=1return "".join(s1)

25:

文章讲解
题目地址
在这里插入图片描述

#include <iostream>
#include <string>
using namespace std;int main()
{string s;while(getline(cin, s)){string result = ""; // 用于存储替换后的字符串for(int i = 0; i < s.length(); i++){if(isdigit(s[i])){ // 判断字符是否为数字result += "number";} else {result += s[i];}}cout << result << endl;}return 0;
}

判断是不是数字 isdigit(s[i)

while True:try:s = input()s1 = list(s)for i in range(len(s1)):if s1[i]>='0' and s1[i]<='9':s1[i]="number"print(''.join(s1))except:break

这里注意 ’ '.join(s1)


26

文章讲解
题目地址

在这里插入图片描述
先翻转字符串再翻转每个单词

然后删除多余空格

在这里插入图片描述

reverse(s.begin(),s.end());

if(s[start]!=’ ‘)如果不是空格,说明新单词开始
if(idx!=0) s[idx++]=’ ’ 如果新单词不是第一个单词,加入前单词末尾空格

int end = start;
while(wend<n && s[end]!=‘’)
s[idx++]=s[end++]
通过一个while循环,找到完整的单词

reverse(s.begin()+idx-(end-start),s.begin()=idx);翻转单词

class Solution {
public:string reverseWords(string s) {// 反转整个字符串reverse(s.begin(), s.end());int n = s.size();int idx = 0;for (int start = 0; start < n; ++start) {if (s[start] != ' ') {// 填一个空白字符然后将idx移动到下一个单词的开头位置if (idx != 0) s[idx++] = ' ';// 循环遍历至单词的末尾int end = start;while (end < n && s[end] != ' ') s[idx++] = s[end++];// 反转整个单词reverse(s.begin() + idx - (end - start), s.begin() + idx);// 更新start,去找下一个单词start = end;}}s.erase(s.begin() + idx, s.end());return s;}
};

在这里插入图片描述

class Solution(object):def reverseWords(self, s):""":type s: str:rtype: str"""words = s.split()words = words[::-1]result = ' '.join(words)return result

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

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

相关文章

备战蓝桥杯---状态压缩DP基础1之棋盘问题

它只是一种手段&#xff0c;一种直观而高效地表示复杂状态的手段。 我们先来看一道比较基础的&#xff1a; 直接DFS是肯定不行&#xff0c;我们发现对某一行&#xff0c;只要它前面放的位置都一样&#xff0c;那么后面的结果也一样。 因此我们考虑用DP&#xff0c;并且只有0/…

操作系统x面试|进程与线程

1. 线程进程的区别 进程可以称为是资源分配的最小单元&#xff0c;而线程可以称为是处理器分配的最小单元。 资源包括内存空间。同时进程是一段代码的执行过程&#xff0c;这段代码需要多少的内存在代码确定时已经确定下来了。 处理器就是执行单元&#xff0c;一个进程可以拆解…

Vue3速成

文章目录 day 11. 创建vue3工程3. 响应式数据4. 计算属性 day 25. watch 监视6. watchEffect7. 标签的ref属性8. 回顾TS中的接口_泛型_自定义类型 day 1 1. 创建vue3工程 相关代码如下&#xff1a; ## 创建vue工程 npm create vuelastest## 安装node_modules npm install //…

分类问题经典算法 | 二分类问题 | Logistic回归:梯度下降

目录 一. 损失函数1. 交叉熵损失函数2. 梯度下降 一. 损失函数 Logistic回归算法公式推导篇中&#xff0c;我们通过对似然函数求对数&#xff0c;得到 l ( θ ) l(\theta ) l(θ)&#xff1a; l ( θ ) l n [ L ( θ ) ] ∑ i 1 M { y ( i ) l n [ h θ ( x ( i ) ) ] ( …

laravel ApiResponse接口统一响应封装

一&#xff0c;新增接口返回码配置文件 在config中新增配置文件apicode.php <?phpreturn [ apicodes>[/*** Message("OK")* 对成功的 GET、PUT、PATCH 或 DELETE 操作进行响应。也可以被用在不创建新资源的 POST 操作上*/HTTP_OK > 200,/*** Message(&qu…

优化云的 10 种方法...

云优化是正确选择正确的资源并将其分配给工作负载或应用程序的过程&#xff0c;确保资源得到有效利用并优化性能。这是为了确保您充分利用云基础设施。这包括确保您没有过度配置&#xff08;或者实际上配置不足&#xff09;资源&#xff0c;并确保您为正确的任务使用正确的服务…

职场的过早优化

过早优化&#xff0c;指的是还没弄清楚需求未来的变化的走向的时候&#xff0c;忽略了更重要的问题。 放在职业发展上&#xff1a;你在没有积累足够职场资源&#xff08;眼界、能力、人脉等等&#xff09;&#xff0c;也没有对职业发展形成清晰认知的时候&#xff0c;就过早地进…

UE学习笔记--解决滚轮无法放大蓝图、Panel等

我们发现有时候创建蓝图之后&#xff0c;右上角的缩放是1&#xff1a;1 但是有时候我们可能需要放的更大一点。 发现一直用鼠标滚轮像上滚动&#xff0c;都没有效果。 好像最大只能 1&#xff1a;1. 那是因为 UE 做了限制。如果希望继续放大&#xff0c;我们可以按住 Ctrl 再去…

Python读取hbase数据库

1. hbase连接 首先用hbase shell 命令来进入到hbase数据库&#xff0c;然后用list命令来查看hbase下所有表&#xff0c;以其中表“DB_level0”为例&#xff0c;可以看到库名“baotouyiqi”是拼接的&#xff0c;python代码访问时先连接&#xff1a; def hbase_connection(hbase…

精品SSM的选修课管理系统选课签到打卡

《[含文档PPT源码等]精品基于SSM的选修课管理系统设计与实现[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功&#xff01; 软件开发环境及开发工具&#xff1a; Java——涉及技术&#xff1a; 前端使用技术&#xff1a;HTM…

软考中级 软件设计师备考经验

考试介绍 软考中级的软件设计师需要考两个部分&#xff0c;选择题和大题&#xff0c;每科满分75&#xff0c;需要在同一次考试中两科同时大于等于45分才算通过。考试的内容包括计算机组成原理、数据结构、数据库、专业英语、信息安全、计算机网络等&#xff0c;范围比较广但考…

Linux技巧|centos7|重新认识和学习egrep和grep命令

前言&#xff1a; 相信提高文本检索工具&#xff0c;大家脑海里肯定有很多工具会自动跳出来&#xff0c;比如&#xff0c;grep&#xff0c;egrep&#xff0c;sed&#xff0c;cat&#xff0c;more&#xff0c;less&#xff0c;cut&#xff0c;awk&#xff0c;vim&#xff0c;vi…