算法:Reverse String(反转字符串)
说明
算法:Reverse String
LeetCode地址:https://leetcode.com/problems/reverse-string/
题目:
Write a function that reverses a string. The input string is given as an array of characters char[].
Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.
You may assume all the characters consist of printable ascii characters.
Example 1:
Input: ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]
Example 2:
Input: ["H","a","n","n","a","h"]
Output: ["h","a","n","n","a","H"]
解题思路
字符串翻转,字符串对称处理,头尾对称位置内容互相调换即可。
时间复杂度为 O(N)。
代码实现
import java.util.Arrays;public class ReverseString {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--;}}public static void main(String[] args) {char[] s = {'h','e','l','l','o'};System.out.println("Input: " + Arrays.toString(s));new ReverseString().reverseString(s);System.out.println("Output: " + Arrays.toString(s));}
}
运行结果
Input: [h, e, l, l, o]
Output: [o, l, l, e, h]
代码执行效率
Runtime: 10 ms, faster than 76.17% of Java online submissions for Reverse String.
Memory Usage: 43.1 MB, less than 88.54% of Java online submissions for Reverse String.
总结
字符串逆序,数组逆序都是同一个问题。
代码下载:
https://github.com/zgpeace/awesome-java-leetcode/blob/master/code/LeetCode/src/popular/ReverseString.java
算法:Reverse String(反转字符串)相关推荐
- Reverse Vowels of a String (反转字符串中的母音)
leetcode Reverse Vowels of a String 反转字符串中的母音 一.学习要点: 1.find_first_of:查找与字符串str中某个字符相同的位置,并返回他的第一个出现 ...
- 反转字符串java实现_反转字符串的几种实现(Java)
反转字符串的几种实现(Java) 首先第一种是利用Java中的类库对象进行反转 //第一种 使用Java类库的diam实现反转 public String reverse(String str){ S ...
- 【算法】LeetCode:字符串篇
总结 反转.替换空格 双指针法 翻转单词顺序.左旋转字符串 反转字符串+反转单词 第一个子字符串匹配项.重复子字符串 KMP算法 344 (简单)反转字符串 编写一个函数,其作用是将输入的字符串反转过 ...
- 345.反转字符串中的元音字母(Reverse Vowels of a String)
题目描述 编写一个函数,以字符串作为输入,反转该字符串中的元音字母. 示例 1: 给定 s = "hello", 返回 "holle". 示例 2: 给定 s ...
- 代码随想录算法训练营第八天|● 344.反转字符串● 541. 反转字符串II● 剑指Offer 05.替换空格● 151.翻转字符串里的单词● 剑指Offer58-II.左旋转字符
一.344.反转字符串 力扣 思路:很简单的一个for循环双指针,left和right交换. class Solution {public void reverseString(char[] s) { ...
- 详解反转字符串算法题
反转字符串,是经常出现的一种算法题,使用C/C++语言时,通常要求在原地进行反转. 最直接的反转整个字符串,使用的是一前一后双指针的方法 进阶的翻转,同要要涉及到两个指针,只是两个指针就行局部反转 进 ...
- 初级算法_反转字符串
LeetCode_初级算法_反转字符串 源 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 ...
- 字符串反转python_Python 反转字符串(reverse)的方法小结
前段时间看到letcode上的元音字母字符串反转的题目,今天来研究一下字符串反转的内容.主要有三种方法: 1.切片法(最简洁的一种) #切片法 def reverse1(): s=input(&quo ...
- 用python倒序输出一个字符串_Python 反转字符串(reverse)的方法小结
前段时间看到letcode上的元音字母字符串反转的题目,今天来研究一下字符串反转的内容.主要有三种方法: 1.切片法(最简洁的一种) #切片法 def reverse1(): s=input(&quo ...
- Java基础String类-字符串反转
定义一个方法,实现字符串反转 键盘录入一个字符串,调用该方法后,在控制台输出结果 例如,键盘录入abc,输出结果cba 示例代码: public class HomeworkTest03 {publi ...
最新文章
- Cocos2d-x lua 编译到Android设备
- mysql行级锁测试
- 软件过程与项目管理(作业一)
- mysql错误码 1045_MySql 错误代码 1045
- react日期格式化实例
- AS 自定义 Gradle plugin 插件 案例 MD
- 记录第一次使用linux部署springbootweb项目
- HDFS 读取、写入、遍历文件夹获取文件全路径、append
- 实习踩坑之路:日期计算错误,Java8API导致Unsupported unit: Seconds,计算当前时间到凌晨00:00的计算方法
- 【转载】在使用上perror和strerror应注意的地方
- CentOS7.9下实战安装MySQL5.7
- 系统服务器更换技术方案,通道设备监控服务器更换 专项工程施工组织方案
- 基于Spatial-Temporal Transformer的城市交通流预测
- MongoDB——explain执行计划详解
- ChatGPT学习研究总结
- 3DMAX解析愤怒的小鸟
- java uri 是什么_java的URI和URL到底是什么
- 区块链投资分歧:蔡文胜麦刚入局 朱啸虎张颖看衰
- IT人员转行写小白文可以么?
- Servlet之 http://localhost:8080/ 详解
热门文章
- 3dmax 渲染关机 脚本_3DMax渲染完自动关机设置
- 不支持给定路径的格式_【国考那些事】2021国/省考,申论答题格式,建议收藏!...
- hibernate java.util.date 精度_hibernate中java.util.Date类型映射
- html做换装游戏,index.html
- python远程文件管理系统_如何在Windows上使用Python访问远程文件系统?
- 5分钟了解分页的那些事?
- day21 re模块
- 杭电多校第一场补题-1002 Balanced Sequence
- 321. Create Maximum Number
- iOS通过ASIHTTPRequest提交JSON数据