(二刷)代码随想录第8天|344.反转字符串● 541. 反转字符串II

344.反转字符串

344. 反转字符串 - 力扣(LeetCode)

代码随想录 (programmercarl.com)

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。

不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

示例 1:

输入:s = ["h","e","l","l","o"]
输出:["o","l","l","e","h"]

示例 2:

输入:s = ["H","a","n","n","a","h"]
输出:["h","a","n","n","a","H"]

提示:

  • 1 <= s.length <= 105
  • s[i] 都是 ASCII 码表中的可打印字符

双指针法:

class Solution{public void reverseString(char[] s){int left = 0;int right = s.length-1;while(left < right){char temp = s[left];s[left] = s[right];s[right] = temp;left++;right--;}}
}

541. 反转字符串II

541. 反转字符串 II - 力扣(LeetCode)

代码随想录 (programmercarl.com)

字符串操作进阶! | LeetCode:541. 反转字符串II_哔哩哔哩_bilibili

给定一个字符串 s 和一个整数 k,从字符串开头算起, 每计数至 2k 个字符,就反转这 2k 个字符中的前 k 个字符。

如果剩余字符少于 k 个,则将剩余字符全部反转。

如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。

示例:

输入: s = "abcdefg", k = 2
输出: "bacdfeg"

同样还是使用双指针法,只不过注意尾指针并不一定是固定的,需要比较大小:
 

class Solution {public String reverseStr(String s, int k) {char[] ch = s.toCharArray();for(int i = 0; i < ch.length; i+=2*k){int start = i;int end = Math.min(ch.length-1, start+k-1);while(start < end){char temp = ch[start];ch[start] = ch[end];ch[end] = temp;start++;end--;}}return new String(ch);}
}

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

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

相关文章

音频筑基:200字说清声和音的区别(Sound/Audio/Music/Voice/Speech辨析)

音频筑基&#xff1a;200字说清声和音的区别(Sound/Audio/Music/Voice/Speech辨析) 音频筑基&#xff1a;200字说清声和音的区别 音频筑基&#xff1a;200字说清声和音的区别(Sound/Audio/Music/Voice/Speech辨析) 梳理如下&#xff1a; 声音 声(Sound) 广义&#xff1a;机械波…

【DevOps】linux 的网络绑定 (Bonding)应用

目录 一、什么是网络绑定 1、提高带宽 2、增加冗余和高可用性 3、 负载均衡 4、 故障转移 5、 多路径传输 二、主要模式 三、配置步骤 1、 安装必要的软件包 2、 加载 Bonding 内核模块 3、 配置网络接口 4、重启网络服务 四、测试和监控 Bonding 一、什么是网络绑…

爬虫界的“闪电侠”:异步爬虫与分布式系统的实战秘籍

Hi&#xff0c;我是阿佑&#xff0c;前文给大家讲了&#xff0c;如何做一个合法“采蜜”的蜜蜂&#xff0c;有了这么个自保的能力后&#xff0c;阿佑今天就将和大家踏入 —— 异步爬虫 的大门&#xff01; 异步爬虫大法 1. 引言1.1 爬虫框架的价值&#xff1a;效率与复杂度管理…

卷轴分红商城模式:适用于多种的商业营销模式

卷轴分红商城模式是一种基于区块链技术的去中心化积分商城系统&#xff0c;通过智能合约和数字资产分红实现积分流通和价值回馈&#xff0c;适用于多种场景。 什么是卷轴分红商城模式&#xff1a; 这是一个去中心化的积分商城系统&#xff0c;消费者在商城消费时&#xff0c;可…

番外篇 | 一文读懂卷积神经网络(CNN)的基础概念及原理

前言:Hello大家好,我是小哥谈。卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习模型,主要用于图像识别和计算机视觉任务。本文旨在对卷积神经网络进行详细的讲解,从基本原理到实际应用,帮助读者全面了解CNN的工作原理、优势和基本组成等,以及其在现实生…

异步编程CompletableFuture总结

文章目录 1. 简介&#xff1a;2. 比较1、传统方式2、使用CompletableFuture&#xff1a;异步执行返回值 3、组合处理&#xff1a;anyOfallof : 4. 异步回调&#xff1a;thenAcceptthenApplywhenComplete等同于 thenAccepthandel()等同于thenApply 5. 常用方法&#xff1a;1、su…

Python——IO编程

IO在计算机中指Input/Output&#xff0c;也就是输入和输出。由于程序和运行时数据是在内存中驻留&#xff0c;由CPU这个超快的计算核心来执行&#xff0c;涉及到数据交换的地方&#xff0c;通常是磁盘、网络等&#xff0c;就需要IO接口。 比如你打开浏览器&#xff0c;访问新浪…

Linux查看进程命令ps和top

Linux 是一种自由和开放源代码的操作系统&#xff0c;它的使用在全球范围内非常广泛。在 Linux 中&#xff0c;进程是操作系统中最重要的组成部分之一&#xff0c;它代表了正在运行的程序。了解如何查看正在运行的进程是非常重要的&#xff0c;因为它可以帮助你了解系统的运行状…

ubuntu linux安装了中文字体以后,无法选择中文为默认字体

有一些以ubuntu为基础的发行版本&#xff0c;中文支持不是很完善&#xff0c;可以参考以下的方法试试&#xff1a; 在Ubuntu 22.04系统中安装中文字体&#xff0c;你可以按照以下步骤操作&#xff1a; 1. **安装中文语言包**&#xff1a;首先确保系统安装了中文语言包&#x…

mediasoup源码分析(三)--日志模块

概述 mediasoup是一个基于WebRTC的sfu服务器框架&#xff0c;它允许开发人员构建实时通信应用程序。它包含许多模块和组件&#xff0c;其中之一是日志模块。 mediasoup的日志模块用于记录系统的运行日志和调试信息。它可以帮助开发人员在开发和调试过程中跟踪和分析问题。日志…

【scikit-learn】DBSCAN基于密度聚类ML模型实战及经验总结(更新中)

1.一直以来想写下基于scikit-learn训练AI算法的系列文章&#xff0c;作为较火的机器学习框架&#xff0c;也是日常项目开发中常用的一款工具&#xff0c;最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下scikit-learn框架DBSCAN密度聚类机器学习模型相关知识…

Java的NIO提供了非阻塞I/O机制的包

Java的NIO&#xff08;New I/O&#xff09;是一种提供了替代性、非阻塞I/O机制的包。它的引入主要是为了解决传统I/O机制在处理大量连接或大数据量时所带来的性能瓶颈和可扩展性问题。下面详细介绍NIO的一些关键概念和特性&#xff1a; 1.通道&#xff08;Channels&#xff09…

管理Kubernetes平台的工具Rancher

目录 一、特性二、使用方法2.1、安装 Rancher2.2、创建 Kubernetes 集群2.3、管理和部署应用 Rancher 是一个开源的容器管理平台&#xff0c;它提供了企业级的 Kubernetes 管理解决方案&#xff0c;使得部署和管理 Kubernetes 集群变得更加简单。Rancher 提供了一个统一的控制面…

使用pyautogui制作点击器怎么输入中文

通过咨询国内一些大厂的问答软件&#xff0c;发现基本都是让我们使用pinyin库来输入中文&#xff0c;我使用了一下&#xff0c;很难达到我的需求&#xff0c;我就发现可以使用复制、粘贴这两个快捷键来达到这个效果。 它们给的代码基本都是这个模式&#xff0c;但是拼音和需要的…

Python 白底黑字图片去除红色水印

Python 白底黑字图片去除红色水印 import os from PIL import Imagedef remove_color(image_path, new_image_path):"""初始化:param image_path: 图片路径:param new_image_path: 新图片路径"""# 打开图片并转换为RGBA格式img Image.open(imag…

java入门1.1.2

前言&#xff1a; 第一&#xff1a;一坨垃圾的迭代&#xff0c;还是垃圾 第二&#xff1a;本内容为对类&#xff0c;对象&#xff0c;构造函数的最新抽象理解 正片 先将类&#xff0c;对象&#xff0c;还要构造函数翻译成英文 class&#xff0c;object&#xff0c;construc…

汇中 SCL-61D2超声水表汇中通讯协议

RS-485串行通讯接口设置表 通用代码注释 读取正向仪表数据 DD的内容为 通讯示例 主机命令&#xff1a;2A 41 4A 仪表响应&#xff1a;26 41 4A 00 00 13 63 00 00 07 72 00 00 10 34 00 33 读取负向仪表数据&#xff1a;&#xff08;单向型仪表无此命令&#xff09; DD的内容…

用户研究方法论中定性研究的优缺点分析

定性研究是一种探索性研究方法&#xff0c;它侧重于理解用户的感受、态度、动机和行为背后的原因。以下是定性研究的一些优缺点&#xff1a; 优点&#xff1a; 深入理解&#xff1a;定性研究能够提供对用户行为和态度的深入理解&#xff0c;帮助研究者捕捉到用户的真实感受和动…

selenium发展史

Selenium Core 2004 年&#xff0c;Thoughtworks 的工程师 Jason Huggins 正在负责一个 Web 应用的测试工作&#xff0c;由于这个项目需要频繁回归&#xff0c;这导致他不得不每天做着重复且低效的工作。为了解决这个困境&#xff0c;Jason 开发了一个运行在 JavaScript 沙箱中…

PDF 生成目录和页码 点击跳转(新)

为啥又写一篇&#xff1f; 因为之前 用 Anchor 写的&#xff0c;这东西 放到Paragraph 里就不好使了 。 这回 目录里 和 跳转的地方 用的都是 Chunk 添加 目录条目 返回跳转的标记 public String addMenuTag (List<Pair<Chunk, String>> chunks, String[] men…