当前位置: 首页 > news >正文

反转字符串 反转字符串 || 反转字符串 |||

思想总结:首先将字符串转变为字符数组,再进行遍历并反转字符。

1.反转字符串

 代码:

class Solution {public void reverseString(char[] s) {reverse(s,0,s.length); //左闭右开}public static void reverse(char[] ch,int i,int j) { 翻转函数j = j-1;while(i<j) {char tmp = ch[i];ch[i] = ch[j];ch[j] = tmp;i++;j--;}}
}

2.反转字符串 ||

代码:

class Solution {public String reverseStr(String s, int k) {char[] arr = s.toCharArray();  //先将字符串 转换为 字符数组for(int i=0;i<s.length();i+=2*k) {if(i+k <= s.length()) {   //剩余的字符个数肯定大于kreverse(arr,i,i+k);  //左开右闭}else{reverse(arr,i,s.length()); //左开右闭 剩余字符少于k个的情况}   }return new String(arr);}public static void reverse(char[] ch,int i,int j) { //翻转函数j = j-1;while(i<j) {char tmp = ch[i];ch[i] = ch[j];ch[j] = tmp;i++;j--;}}
}

3.反转字符串中的单词 |||

可以双指针 也可以用栈来做

代码:

class Solution {/* //第一种 双指针public String reverseWords(String s) {char[] ch = s.toCharArray();int left = 0;  //  left保存每一次翻转的最开始位置int right=0;   //  right 保存每一次反转的结束位置for(;right<ch.length;right++) {if(ch[right]==' ') {reserve(ch,left,right);   //左开右闭left = right+1;}}reserve(ch,left,right);   //翻转最后一组字符串return new String(ch);  //字符数组转换为字符串}public static void reserve(char[] ch,int i ,int j) {  //自定义翻转函数j = j-1;while(i<j) {char tmp = ch[i];ch[i] = ch[j];ch[j] = tmp;i++;j--;}}*///2. 用栈来做public String reverseWords(String s) {Stack<Character> stack = new Stack<>();char[] ch = s.toCharArray();StringBuilder sb = new StringBuilder();for(int i = 0;i<ch.length;i++) {if(ch[i]!=' ') {stack.push(ch[i]);}else{while(!stack.isEmpty()) {sb.append(stack.pop());}sb.append(' ');}}while(!stack.isEmpty()) {sb.append(stack.pop());}return sb.toString();}}

相关文章:

反转字符串 反转字符串 || 反转字符串 |||

思想总结&#xff1a;首先将字符串转变为字符数组&#xff0c;再进行遍历并反转字符。 1.反转字符串 代码&#xff1a; class Solution {public void reverseString(char[] s) {reverse(s,0,s.length); //左闭右开}public static void reverse(char[] ch,int i,int j) { 翻转函…...

XML解析 不允许有匹配 _[xX][mM][lL]_ 的处理指令目标

以上错误是在解析xml参数时候报出的。 我这里错误的原因在于&#xff0c;<?xml version\"1.0\" encoding\"UTF-8\"?>少了个空格&#xff0c;参考下图&#xff1a; 下面一行才是对的。...

【C++进阶(五)】STL大法--list模拟实现以及list和vector的对比

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:C从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习C   &#x1f51d;&#x1f51d; list模拟实现 1. 前言2. list类的大致框架与结构…...

Docker安装RabbitMQ集群_亲测成功

先安装Docker Centos7离线安装Docker 华为云arm架构安装Docker RabbitMQ集群模式介绍 RabbitMQ集群搭建和测试总结_亲测 RabbitMQ 有三种模式&#xff1a;单机模式&#xff0c;普通集群模式&#xff0c;镜像集群模式。单机模式即单独运行一个 rabbitmq 实例&#xff0c;而…...

50道基础数据结构面试题

程序员必备的50道数据结构和算法面试题 在本文中&#xff0c;将分享一些常见的编程面试问题&#xff0c;这些问题来自于不同经验水平的程序员&#xff0c;囊括从刚大学毕业的人到具有一到两年经验的程序员。 编码面试主要包括数据结构和基于算法的问题&#xff0c;以及一些诸…...

【Linux基础】权限管理

​&#x1f47b;内容专栏&#xff1a; Linux操作系统基础 &#x1f428;本文概括&#xff1a; 用户之间的切换、sudo提权、Linux权限管理、文件访问权限的相关方法、目录权限、粘滞位等 &#x1f43c;本文作者&#xff1a; 阿四啊 &#x1f438;发布时间&#xff1a;2023.9.11 …...

C++初阶--类和对象(中)

目录 类的6个默认成员函数构造函数使用方法 析构函数使用方法 拷贝构造函数使用方法 赋值运算符重载赋值运算符重载 const成员 上篇末尾我们讲到了关于c实现栈相较于c语言在传递参数时的一些优化&#xff0c;但实际上&#xff0c;c在 初始化 清理 赋值 拷贝等方面也做了很大程…...

【MySQL系列】视图特性

「前言」文章内容大致是MySQL事务管理。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 视图1.1 视图概念1.2 创建视图1.3 修改互相影响1.4 删除视图1.5 视图规则和限制 视图 1.1 视图概念 视图是一个虚拟表&#xff0c;其内容由查询定义同真实的表一样…...

管理类联考——数学——汇总篇——知识点突破——应用题——最值问题

⛲️ 一、考点讲解 最值问题是应用题中最难的题目&#xff0c;也是考生普遍丢分的题目。最值问题一般要结合函数来分析&#xff0c;一般结合二次函数和平均值定理求解。最值问题的求解步骤是&#xff1a;先设未知变量&#xff0c;然后根据题目建立函数表达式&#xff0c;最后利…...

学习SpringMvc第二战之【SpringMVC之综合案例】

目录 一. 参数传递 1.前期准备工作&#xff08;替换pom.xml中的部分依赖&#xff09; 1.1将log4j替换成为slf4j(将打印语句替换成为日志文件输出结果) 2.正式操作 1.基础传参 1.1创建方法&#xff0c;用于验证传参 1.2构建界面回显 1.3设置访问路径&#xff08;localho…...

【算法日志】单调栈: 单调栈简介及其应用

代码随想录刷题60Day 目录 单调栈简介 单调栈的应用 下次更高温 下一个更大元素1 下一个更大元素2 接雨水 柱状图中最大矩形 单调栈简介 单调栈&#xff08;Monotonic Stack&#xff09;是一种特殊的栈数据结构&#xff0c;它满足元素的单调性&#xff0c;这种单调性需…...

VSCode自动分析代码的插件

今天来给大伙介绍一款非常好用的插件&#xff0c;它能够自动分析代码&#xff0c;并帮你完成代码的编写 效果如下图 首先我们用的是VSCode&#xff0c;&#xff08;免费随便下&#xff09; 找到扩展&#xff0c;搜索CodeGeeX&#xff0c;将它下载好&#xff0c;就可以实现了 到…...

设计模式之外观模式

文章目录 影院管理项目传统方式解决影院管理传统方式解决影院管理问题分析外观模式基本介绍外观模式原理类图外观模式解决影院管理传统方式解决影院管理说明外观模式应用实例 外观模式的注意事项和细节 影院管理项目 组建一个家庭影院&#xff1a; DVD 播放器、投影仪、自动屏…...

Web端测试和 App端测试有何不同?

Web 端测试和 App 端测试是针对不同平台的上的应用进行测试&#xff0c;Web应用和App端的应用实现方式不同&#xff0c;测试时的侧重点也不一样。 今天这篇文章就来介绍下两者的不同之处以及测试时的侧重点。 同时&#xff0c;我也准备了一份软件测试面试视频教程&#xff08…...

12.(Python数模)(相关性分析一)相关系数矩阵

相关系数矩阵 相关系数矩阵是用于衡量多个变量之间关系强度和方向的统计工具。它是一个对称矩阵&#xff0c;其中每个元素表示对应变量之间的相关系数。 要计算相关系数矩阵&#xff0c;首先需要计算每对变量之间的相关系数。常用的相关系数包括皮尔逊相关系数和斯皮尔曼相关…...

系统架构设计师(第二版)学习笔记----嵌入式系统及软件

【原文链接】系统架构设计师&#xff08;第二版&#xff09;学习笔记----嵌入式系统及软件 文章目录 一、嵌入式系统1.1 嵌入式系统的组成1.2 嵌入式系统的特点1.3 嵌入式系统的分类 二、嵌入式软件2.1 嵌入式系统软件分层2.2 嵌入式软件的主要特点 三、安全攸关软件的安全性设…...

Python列表操作指南:索引、切片、遍历与综合应用

文章目录 列表简介创建列表索引和切片列表的长度列表的拼接和重复检查元素是否存在列表的方法index() 方法count() 方法 列表的修改和删除修改元素删除元素列表的排序和反转添加元素 列表的拷贝列表的遍历列表的切片列表的嵌套列表推导式 python精品专栏推荐python基础知识&…...

第15章_锁: MySQL并发访问相同记录以及从数据操作的类型划分锁(读锁、写锁)

事务的 隔离性 由这章讲述的 锁 来实现。 1. 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制. 在程序开发中会存在多线程同步的问题, 当多个线程并发访问某个数据的时候, 尤其是针对一些敏感数据(订单, 金额), 我们就需要保证这个数据在任何时刻最多只有一个线…...

PHP 排序函数使用方法,按照字母排序等操作

详解PHP排序方法使用 一、sort() 函数 用于对数组单元从低到高进行排序。 //数组 $data array(D,F,A,C,B); //排序 sort($data); //输出排版标签 echo "<pre>"; //打印数据 print_r($data);die;输出结果&#xff1a; 二、rsort() 函数 用于对数组单元从高到…...

windows本地验证码识别工具

windows本地验证码识别小工具 - 可以用在windows系统中&#xff0c;并可以集成在Java或python程序中 演示视频如下&#xff1a;可用于识别4-7位的字母数字组合的验证码&#xff08;识别准确率在70% - 80%&#xff09;。 验证码识别演示 本项目未开源&#xff0c;如需使用请联…...

修改图片尺寸的几个简单方法

修改图片尺寸的几个简单方法~~图片&#xff0c;是我们常用的文件格式&#xff0c;也是日常生活与工作中重要的文件。图片记录了非常多的元素和内容&#xff0c;其中不乏有工作上的内容&#xff0c;也有对一些日常生活的记录。所以说&#xff0c;图片文件对我们来说是非常重要的…...

三、GoLang字符串的基本操作

一、转义符是什么? 转义字符意义\n换行&#xff0c;将当前位置移动到下一行开头\r回车&#xff0c;将当前位置移到本行开头\t相当于一个Tab键\\代表一个反斜线“\”\"代表一个双引号字符 代码实战 package mainimport "fmt"/* *字符串基本用法 */ func main…...

基于vue-cli创建后台管理系统前端页面——element-ui,axios,跨域配置,布局初步,导航栏

目录 引出安装npm install安装element-ui安装axios 进行配置main.js中引入添加jwt前端跨域配置 进行初始布局HomeView.vueApp.vue 新增页面和引入home页面导航栏总结 引出 1.vue-cli创建前端工程&#xff0c;安装element-ui&#xff0c;axios和配置&#xff1b; 2.前端跨域的配…...

在 ubuntu20.04 上安装 Pytorch

参考资料&#xff1a;https://www.linode.com/docs/guides/pytorch-installation-ubuntu-2004/ sudo apt update sudo apt install nvidia-cuda-toolkit (3G) mkdir anaconda cd ~/anaconda wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh chmod …...

远程恋爱网站部署秘籍——群晖虚拟机助ni秀恩爱

文章目录 前言1. 安装网页运行环境1.1 安装php1.2 安装webstation 2. 下载网页源码文件2.1 访问网站地址并下载压缩包2.2 解压并上传至群辉NAS 3. 配置webstation3.1 配置网页服务3.2 配置网络门户 4. 局域网访问静态网页配置成功5. 使用cpolar发布静态网页&#xff0c;实现公网…...

vscode c++解决包含头文件红色波浪线问题

安装c/c插件后&#xff0c;按ctrlshiftp&#xff0c; 点击打开了c_cpp_properties.json文件&#xff0c;对其中的IncludePath进行编辑&#xff0c;示例如下&#xff1a; "includePath": ["${workspaceFolder}/**","${workspaceFolder}/include/**&q…...

PostgreSQL docker compose安装配置

docker-compose.yml如下&#xff1a; version: 3services:postgres:image: postgres:15.4healthcheck:test: [ "CMD", "pg_isready", "-q", "-d", "postgres", "-U", "root" ]timeout: 45sinterval: 1…...

电脑文件批量重命名:高效操作技巧

随着时间的推移&#xff0c;我们积累的文件和文件夹数量越来越多&#xff0c;需要对它们进行合理的命名和管理&#xff0c;以便更方便地查找和利用。而文件批量重命名功能可以帮助我们更高效地管理文件夹。下面介绍五种方式&#xff0c;帮助你更好地利用文件批量重命名工具&…...

c高级day4(shell)

实现一个对数组求和的函数&#xff0c;数组通过实参传递给函数写一个函数&#xff0c;输出当前用户的uid和gid&#xff0c;并使用变量接收结果...

整十粉丝庆祝文章系列内容征集建议

亲爱的读者们&#xff0c;大家好&#xff01; 作为一名文章作者&#xff0c;我深知没有读者的支持和喜爱&#xff0c;我的文字就只是无意义的文字堆积。因此&#xff0c;为了庆祝与感谢大家长久以来的支持&#xff0c;我准备举办一场特别的活动——粉丝庆祝文章系列内容征集建…...

如何做凡客网站/口碑营销策略有哪些

在之前我们只用过父传子&#xff0c;子传父进行传数据&#xff0c;这时候当组件嵌套比较深或比较复杂的情况&#xff0c;这时候就用到了事件总线 (EventBus) 如何理解事件总线呢&#xff0c;你可以理解为用来传输数据的一条线 注意点&#xff1a;有组件发布事件后 剩余的所有…...

网站建设图片上传/网络推广是什么工作

从另外1台机器配置好的vdi文件&#xff0c;拷贝到本机上的virtualbox导入。 1开始以为是和另外1台虚拟机的ip冲突&#xff0c;然后把ip改了。还是不行。报了 一系列的问题&#xff0c;通过网上解决方案都没啥用。 后来想到有可能是virtualbox网络配置的问题&#xff0c;然后和…...

电子商务网站建设特色/google seo是什么啊

多点触控技术 1 简介 Android多点触控在本质上需要LCD驱动和程序本身设计上支持&#xff0c;目前市面上HTC、Motorola和Samsung等知名厂商只要使用电容屏触控原理的手机均可以支持多点触控Multitouch技术&#xff0c;对于网页缩放、手势操作上有更好的用户体验。 在Android平台…...

做网站百度/如何建网站赚钱

1、 Java连接MySQL数据库之properties文件配置 2、 Java连接MySQL数据库——含步骤和代码...

优惠劵精选网站怎么做/营销与销售的区别

信号名 位宽 I/O 描述 clk 1 I 时钟 nrst 1 I 全局异步时钟&#xff0c;低电平有效&#xff0c;有效时所有寄存器清零 stall 1 I 暂停信号&#xff0c;该信号为1时&#xff0c;寄存器所有值保持不变 ren 1 I 读使能&#xff0c;高电平有效 radd1/radd2 5 …...

ui设计培训学费多少/seo优化流程

作为编码者&#xff0c;美工基础是偏弱的。我们可以参考一些成熟的网页PS教程&#xff0c;提高自身的设计能力。套用一句话&#xff0c;“熟读唐诗三百首&#xff0c;不会作诗也会吟”。 本系列的教程来源于网上的PS教程&#xff0c;都是国外的&#xff0c;全英文的。本人尝试翻…...