力扣LeetCode算法打卡学习第6天

开始与字符串相关的题

一、反转字符串

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

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

你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。
在这里插入图片描述
方法一:我的

class Solution {
    
    
    public void reverseString(char[] s) {
    
    
        int length=s.length;
        for(int i=0;i<length/2;i++){
    
    
            char temp=s[i];
            s[i]=s[length-i-1];
            s[length-i-1]=temp;
        }
    }
}

方法二:官方,双指针

class Solution {
    
    
    public void reverseString(char[] s) {
    
    
        int n = s.length;
        for (int left = 0, right = n - 1; left < right; ++left, --right) {
    
    
            char tmp = s[left];
            s[left] = s[right];
            s[right] = tmp;
        }
    }
}

作者:LeetCode-Solution
链接:https://leetcode-cn.com/problems/reverse-string/solution/fan-zhuan-zi-fu-chuan-by-leetcode-solution/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自blog.csdn.net/Shadownow/article/details/113728481