LeetCode 344 题意
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 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"]
作者:力扣 (LeetCode)
链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnhbqj/
泉源:力扣(LeetCode)
著作权归作者全部。贸易转载请联系作者得到授权,非贸易转载请注明出处。
分析题意:
- 输入是一个字符数组 char [] s情势给出,输出也是通过char [] s情势给出;
- 方法的作用是将输入的字符数组反转过来;
- 不能给数组分配额外的空间,使用O(1)的空间复杂度
- 全部的字符都在ASCII码表中可以打印
Java全部解法
Solution 1
我们很容易想到通过一个中心数组对原来的数组举行反向赋值,定义一个字符数组 char [] t
对于第一个例子而言:
t0 = s4 = o
t1 = s3 = l
t2 = s2 = l
t3 = s1 = e
t4 = s0 = h
末了将字符数组t赋值给s,直接贴上代码 |