反转字符串

weblog 880 0 0

leetcode344题(简单)

原链接:https://leetcode-cn.com/problems/reverse-string/

题目描述

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 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"]

解题思路

这就很简单了,直接采用双指针法,头指针从数组头部向后移动,尾指针从数组尾部向前移动,每次移动一个元素,然后在原数组就地交换两个位置元素的值,直到两个指针相遇,算法结束。

代码(java)

class Solution {
    public void reverseString(char[] s) {
        int i=0,j=s.length-1;
        char c;
        while(i<j){
            c=s[i];
            s[i]=s[j];
            s[j]=c;
            i++;j--;
        }
    }
}
执行结果

猜你喜欢
算法基础 1188 c#对象和json换usingSystem; usingSystem.Runtime.Serialization.Json; usingSystem.IO; usingSystem.Text
数据库基础 4980 1.利用dbms_lob.substr()方法可将对应换成如下:selectdbms_lob.substr(content)fromNEWS该方法有个缺点,当content段长度超过某
数据库基础 1638 mysql截取函数总结1.截取:left(str,length)mysqlselectleft('example.com',3
weblog 1763 1.ASCII(str)返回str的第一个的ascii码值(str是空时返回0)selectascll(‘a’)-:972.ORD(str)返回第一个的ASCII值
数据库基础 1982 '%from_str%'说明:table_name——表的名field_name——段名from_str——需要替换的to_str——替换成的
数据库基础 1745 mysql截取mysql索引从1开始一、mysql截取函数1、left(str,index)从左边第index开始截取2、right(str,index)从右边第index开始截取3
算法基础 949 今天在项目中遇到用"|"分割的问题,如果直接使用下面方式,不会按照我们预想的分割:String[]ids="12|13|14".split("|");分割出来是[1,2,|,1,3,|1,4
java基础 1120 java根据多空格或tab进行分割publicstaticvoidmain(String[]args){Stringtext="dsdfsdddddgsdfsd";String[]split
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。