欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

反转字符串(Java实现)

程序员文章站 2024-03-04 17:37:35
...

反转字符串


题目

反转字符串(力扣:344)

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

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

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

分析

双指针求解。

使用两个指针,一个左指针 left,右指针right,开始时left指向首元素,right指向尾元素。交换两个指针指向的元素,并向中间移动,直到两个指针相遇。

代码实现

    /**
     * 344. 反转字符串
     * @param s
     */
    public void reverseString(char[] s) {
        int left = 0, right = s.length-1;
        char tmp;
        while (left<right){
            tmp = s[left];
            s[left] = s[right];
            s[right] = tmp;
            left++;
            right--;
        }
    }