1. question: 反转字符串(简单)
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-string
示例 1:
1 2
| 输入:s = ["h","e","l","l","o"] 输出:["o","l","l","e","h"]
|
示例 2:
1 2
| 输入:s = ["H","a","n","n","a","h"] 输出:["h","a","n","n","a","H"]
|
提示:
1 2
| 1 <= s.length <= 105 s[i] 都是 ASCII 码表中的可打印字符
|
2. answers
这道题没什么可说的,首尾双指针向中间遍历即可。代码如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| public class Solution_0033 {
public static void reverseString(char[] s) {
int left = 0, right = s.length - 1; char temp;
while(left < right) {
temp = s[left]; s[left] = s[right]; s[right] = temp;
left ++; right --; } }
public static void main(String[] args) { System.out.println();
char[] s = {'H', 'a', 'n', 'n', 'a', 'h'}; reverseString(s);
for(char c: s) { System.out.println(c); } } }
|
3. 备注
参考力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 (leetcode-cn.com),代码随想录 (programmercarl.com)。