/**
* 344. 反转字符串
* @author wsq
* @date 2020/10/08
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。
示例 1:
输入:["h","e","l","l","o"]
输出:["o","l","l","e","h"]
示例 2:
输入:["H","a","n","n","a","h"]
输出:["h","a","n","n","a","H"]
链接:https://leetcode-cn.com/problems/reverse-string
*/
package com.wsq.sstring;
public class ReverseString {
/**
* 双指针
* @param s
*/
public void reverseString(char[] s) {
int n = s.length;
if(n == 0){
return;
}
int left = 0;
int right = n - 1;
while(left < right){
if(s[left] != s[right]){
char tmp = s[left];
s[left] = s[right];
s[right] = tmp;
}
left++;
right--;
}
}
public static void main(String[] args) {
char[] s = {'h','e','l','l','o'};
System.out.println("翻转前:");
printCharArr(s);
ReverseString rs = new ReverseString();
rs.reverseString(s);
System.out.println("翻转后:");
printCharArr(s);
}
public static void printCharArr(char[] arr) {
for(char c: arr) {
System.out.print(c + " ");
}
System.out.println();
}
}
相关推荐
基于立创·天猛星MSPM0G3507的简易PID电机控制入门项目实战
本文详细介绍了基于立创·天猛星MSPM0G3507开发板的简易PID电机控制入门项目实战。从硬件选型、电路设计、PCB布局,到软件编程中的编码器读取、PID算法实现与调参,手把手教你完成一个带屏幕显示的电机定速与定距控制项目,是学习嵌入式开发和经典PID控制算法的绝佳实践。
【双指针】反转字符串
反转字符串
Simulink/Requirements Toolbox 学习(一):概述
编写、导入、导出需求并使需求正式化;两种创建需求的模块:需求编辑器、需求透视;描述需求的方式:文本、图像和关键字;通过导入和导出需求文件,与第三方需求管理工具(例如 Microsoft Word、Microsoft Excel®、IBM DOORS和 IBM DOORS Next)集成。涉及模块:Requirements Eidtor、Requirements Table等;
反转字符串(双指针)
题目描述 写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。 输入 :cba 返回值 :abc 我们最容易想到:逆向遍历字符串实现反转 实现: public static String solve(String str) { if (null == str || str.length() == 0 || str.length() == 1) { return str; } StringBuilder strBuil.
Qt快速读取Excel文件
网上很多读取方式都是如下形式,太慢了,打开文件+读取文件要6s以上,实在是受不了! QAxObject excel("Excel.Application"); excel.setProperty("Visible", false); QAxObject *work_books = excel.querySubObject("WorkBooks"); work_boo...
别再纠结高边低边了!用TI BQ76952设计两轮车BMS,手把手教你选对架构(附电路图)
本文深度解析基于TI BQ76952芯片的电动两轮车BMS设计策略,涵盖高边/低边驱动选择、四种基础架构的电流路径分析及选型决策矩阵。通过实战案例分享,帮助工程师优化BMS架构,提升系统可靠性和成本效益,特别适合电摩和共享单车应用场景。
代码随想录|双指针法|02反转字符串
其实就可以想到要用双指针法,字符串的反转实际上就是以字符串的中间为轴给它旋转180°,也就是轴两边的元素调换位置,所以如何找到轴两边的元素就是用的双指针。对于字符串的反转操作,其实一个库函数reverse就可以解决,但是题目毕竟考察我们对代码底层的原理理解能力,如果想提高自己的能力,还是需要了解每个函数的内部原理。输入:["H","a","n","n","a","h"]输出:["h","a","n","n","a","H"]输入:["h","e","l","l","o"]
ICG setup timing violation介绍?
门控时钟(clock gating)在RTL级电路设计过程中进行低功耗优化常用方法,能够有效降低动态功耗(翻转功耗)。Clock gating cell 可以由与门,与非门,或门或者或非门构成,但很容易产生Glitch。在实际使用中,一般用ICG(集成门控时钟单元)来完成clock gating。 下图展示了glitch的产生原因 在CTS时钟树综合的时候,ICG不会被看作sink,通常放置在source点附近,因此就会出现如上图这种结果。上图可以看出,在分析DFF到ICG的setup timing
反转字符串-双指针法,
双指针法是一种高效的反转字符串方法,时间复杂度为 O(n),空间复杂度为 O(n)。// 交换 left 和 right 指向的字符。通过以上解析和代码实现,可以轻松掌握双指针法反转字符串的核心思想和方法!反转字符串是一种高效且直观的方法。字符串在 Java 中是不可变的,因此需要将其转换为字符数组。字符串在 Java 中是不可变的,因此需要将其转换为字符数组。// 将字符串转换为字符数组。// 将字符数组转换回字符串。通过交换字符并移动指针,逐步将字符串反转。// 交换字符并移动指针。
Unity 数字孪生实战:PiXYZ Plugin工业模型高效处理指南
本文是Unity数字孪生实战指南,重点介绍了如何使用PiXYZ Plugin高效处理工业CAD模型。针对工业模型导入Unity时面临的格式壁垒、数据爆炸和资产混乱等核心痛点,文章提供了从环境安装、基础导入到智能减面、资产清理的完整解决方案,并分享了预设自动化、运行时导入等高级技巧与性能优化策略,帮助开发者快速打通工业设计与实时交互流程。
小波变换(深入浅出)
小波变换
五、双指针法(2):反转字符串
力扣题目链接(opens new window) 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 示例 1: 输入:["h","e","l","l","o"] 输出:["o","l","l","e","h"] 示例 2: 输入:["H","a","n","n","a","h"] 输出:["h.
RT-DETR模型应用过程中的报错处理及疑问解答,涉及环境搭建、模型训练、模块改进、论文写作
本文记录了RT-DETR模型的这一系列过程中可能发生的问题,以及大家非常关心的问题,这里统一做了一个记录和解答。
Leetcode344反转字符串(双指针解法)
Leetcode344反转字符串(双指针解法) 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 答题: /** \* @param {character[]} s \* @return {void} Do not return anything, modify s in-place instead. */ var reverseString = function(s)
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
Statistics and Machine Learning Toolbox
Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具
leetcode344. 反转字符串/双指针
文章目录题目:344. 反转字符串基本思想:双指针 题目:344. 反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 示例 1: 输入:["h","e","l","l","o"] 输出:["o","l","l","e","h"] 示例 2: 输入:["H","a","n","n","a"
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
leetcode 344. 反转字符串 541. 反转字符串 II 双指针解
目录leetcode 3441、题目2、思考541. 反转字符串 II1、题目2、思考 leetcode 344 1、题目 2、思考 典型的双指针解法: 一个从前往后,一个从后往前,指针对应的交换即可。 class Solution { public: void reverseString(vector<char>& s) { int start=0; int end=s.size()-1; if(end == -1) ret.
RU DOS版、EFI版32bit/64bit BIOS常用工具
DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。
leetcode344. 反转字符串,双指针法
leetcode344. 反转字符串,双指针法
双指针算法 | 力扣344. 反转字符串
本文讲解力扣344. 反转字符串问题 也就是使用双指针的思想 很简单的一道题 1 题目 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 2 示例 3 思路分析 使用 前后双指针;L 在首位; R 在 尾部 L R 指向的字符串交换位置; 随后 L 后移,R 前移;继续交换 重复上.
【leetcode 344】【反转字符串】【双指针专题】
leetcode 344【反转字符串】 题目链接 https://leetcode-cn.com/problems/reverse-string/ 解题思路与代码思路: 双指针法 初始化:设置两个指针l和r分别指向列表首尾元素 步骤:交换s[i]和s[j]对应元素,并更新指针位置,直到两个指针相遇 数组切片法 s[::-1]表示反转s中的元素 s[:]表示数组中所有子模块 s[:]=s[::-1]表示将原数组反转后赋值给s中每一个对应的位置 代码: 双指针法 class Solution: d
【LeetCode: 344. 反转字符串 | 双指针模拟】
【LeetCode: 344. 反转字符串 | 双指针模拟】编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
LeetCode--344.反转字符串(字符串/双指针法)
本文介绍了反转字符串的两种原地算法实现。题目要求在不使用额外空间的情况下反转字符数组,给出了使用临时变量交换和异或运算交换两种解法。第一种方法通过双指针和临时变量完成字符交换;第二种方法利用异或运算的特性实现无临时变量的交换。两种方法的时间复杂度均为O(n),空间复杂度为O(1),满足题目要求。文章还通过图示解释了异或交换的原理,并指出使用异或时需要注意边界条件以避免错误。
Leecode 344. 反转字符串 双指针
原题链接:Leecode 344. 反转字符串 class Solution { public: void reverseString(vector<char>& s) { int l=0,r=s.size()-1; while(l<r) { swap(s[l],s[r]); l++; r--; } } };
【LeetCode-简单】344. 反转字符串 -双指针
344. 反转字符串 很简单的双指针题目,没啥可说的 class Solution { public: void reverseString(vector<char>& s) { int len=s.size(); int left=0,right=len-1; while(left<right){ swap(s[left],s[right]); left++;
算法训练Day8| LeetCode344. 反转字符串(双指针);541. 反转字符串II(模拟);offer5. 替换空格(双指针后序);151.反转字符串中的单词(综合);off58.左旋字符串
算法训练Day8| LeetCode344. 反转字符串(双指针);541. 反转字符串II(模拟);offer5. 替换空格(双指针后序);151.反转字符串中的单词(综合);offer58.左旋字符串
344. 反转字符串 双指针原地反转
#344. 反转字符串 难度:简单 题目描述 解题思路 双指针,现在写这种题感觉就像写1+1,过于简单 public void reverseString(char[] s) { if(s == null || s.length == 0) return; int p = 0,q = s.length-1; while(p < q) { char temp = s[p]; s[p] = s[q]; s[q] = temp; }
344. 反转字符串【双指针】
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组。不要给另外的数组分配额外的空间,你必须。的额外空间解决这一问题。
510



被折叠的 条评论
为什么被折叠?



