LeetCode-344-反转字符串

拓朴薄雾
• 阅读 1441

反转字符串

题目描述:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。

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

你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。

示例说明请见LeetCode官网。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/probl...
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解法一:数组遍历
遍历s,遍历顺序是0~s.length/2,将第i项的值和第s.length-1-i项的值进行交换。遍历完成后的s即为反转后的字符串。
public class LeetCode_344 {
    public static void reverseString(char[] s) {
        for (int i = 0; i < s.length / 2; i++) {
            // 第i项和第s.length-1-i项进行交换
            char temp = s[i];
            s[i] = s[s.length - 1 - i];
            s[s.length - 1 - i] = temp;
        }
    }

    public static void main(String[] args) {
        char[] s = new char[]{'h', 'e', 'l', 'l', 'o'};
        System.out.println("-----反转之前-----");
        for (char c : s) {
            System.out.print(c + " ");
        }
        System.out.println();
        reverseString(s);
        System.out.println("-----反转之后-----");
        for (char c : s) {
            System.out.print(c + " ");
        }
    }
}
【每日寄语】 每一次的突破都是为了成就更好的自己。
点赞
收藏
评论区
推荐文章
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
DaLongggggg DaLongggggg
4年前
python百题大冲关-反转字符串中的字符
挑战介绍实现一个算法来实现反转字符数组的功能。反转的要求如下:将字符数组的字符进行反转,例如'b','','a','r'变成'r','a','','b'。将字符数组替换为反转后的数组。本次挑战中,你需要在reverse_chars.py文件中补充函数reverse的空缺部分。re
Wesley13 Wesley13
4年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
Stella981 Stella981
4年前
JS 苹果手机日期显示NaN问题
问题描述newDate("2019122910:30:00")在IOS下显示为NaN原因分析带的日期IOS下存在兼容问题解决方法字符串替换letdateStr"2019122910:30:00";datedateStr.repl
Wesley13 Wesley13
4年前
OC之description
打印对象用%@,比如打印字符串对象:NSString\name@”haha”;NSLog(@”%@”,name);输出结果为:haha比如:Person\p\\Personalloc\init\;p.age20;p.name@”jack”;NSLog(@”%@”,p);会打印出对象
Stella981 Stella981
4年前
JavaScript常用函数
1\.字符串长度截取functioncutstr(str,len){vartemp,icount0,patrn/^\x00\xff/,strre"";for(vari
Stella981 Stella981
4年前
LeetCode:(14. 最长公共前缀!!!!!)
题目:14\.最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串“”。示例1:输入:\“flower”,“flow”,“flight”\输出:“fl”示例2:输入:\“dog”,“racecar”,“car”\输出:“”
Stella981 Stella981
4年前
LeetCode:283.移动零——简单
题目:283.移动零:给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入:0,1,0,3,12输出:1,3,12,0,0说明:1.必须在原数组上操作,不能拷贝额外的数组。2.尽量减少操作
分布式系统的主键生成方案对比 | 京东云技术团队
UUID​UUID(通用唯一识别码)是由32个十六进制数组成的无序字符串,通过一定的算法计算出来。为了保证其唯一性,UUID规范定义了包括网卡MAC地址、时间戳、名字空间(Namespace)、随机或伪随机数、时序等元素,以及从这些元素生成UUID的算法。
贾蔷 贾蔷
6个月前
力扣面试题10.01:利用双指针法原地合并有序数组
一、题目解读10.01要求将两个有序A和B合并成一个有序数组,且合并结果需存储在数组A中(原地修改)。需确保合并后的A元素按升序排列,同时考虑A末尾可能存在无效元素(填充0)。核心挑战在于如何在O(mn)时间复杂度内完成合并,避免使用额外空间。二、解题思
拓朴薄雾
拓朴薄雾
Lv1
海上生明月,天涯共此时。
文章
4
粉丝
0
获赞
0