首页 > 其他分享 >刷刷刷Day8| 344. 反转字符串

刷刷刷Day8| 344. 反转字符串

时间:2023-01-05 21:12:05浏览次数:68  
标签:刷刷 right Day8 反转 344 字符串 left 指针

344. 反转字符串

LeetCode题目要求

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

示例

输入:s = ["h","e","l","l","o"]
输出:["o","l","l","e","h"]
解题思路

通过交换前后的元素,可以通过左右两个指针。left 指针从0开始,right 从 length-1 开始。直到 left >= right
过程不断对交换两个指针的位置

上代码

class Solution {
    
    public void reverseString(char[] s) {
        // 左指针
        int left = 0; 
        // 右指针
        int right = s.length - 1; 
        // 在 left < right 的条件下进行教化
        while (left < right) {
            // 临时变量存储,用于值交换
            char tmp = s[left];
            s[left] = s[right];
            s[right] = tmp;
            // 交换后 left 对应的值 及 right 对应的值不能再变化,所以需要移动指针
            left++;
            right--;
        }
    }
}
重难点

附:学习资料链接

标签:刷刷,right,Day8,反转,344,字符串,left,指针
From: https://www.cnblogs.com/blacksonny/p/17028863.html

相关文章

  • 刷刷刷Day7| 18. 四数之和
    18.四数之和LeetCode题目要求给你一个由n个整数组成的数组 nums,和一个目标值target。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a],nums[b],nums......
  • 代码随想录day8 LeetCode 344 反转字符串 541反转字符串II 剑指 Offer 05. 替换空格
    344反转字符串https://leetcode.cn/problems/reverse-string/双指针classSolution{public:voidreverseString(vector<char>&s){intleft=0;intri......
  • 刷刷刷Day7| 15. 三数之和
    15.三数之和LeetCode题目要求给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+......
  • 刷刷刷Day7| 383. 赎金信
    383.赎金信LeetCode题目要求给你两个字符串:ransomNote和magazine,判断ransomNote能不能由magazine里面的字符构成。如果可以,返回true;否则返回false。magaz......
  • 刷刷刷Day6| 1. 两数之和
    1.两数之和LeetCode题目要求给定一个整数数组nums 和一个整数目标值target,请你在该数组中找出和为目标值target 的那 两个 整数,并返回它们的数组下标。你可以......
  • 刷刷刷Day6|第202题. 快乐数
    第202题.快乐数LeetCode题目要求编写一个算法来判断一个数n是不是快乐数。「快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后......
  • 刷刷刷Day6| 349. 两个数组的交集
    349.两个数组的交集LeetCode题目要求给定两个数组nums1和nums2,返回它们的交集。输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。示例:输......
  • 刷刷刷Day6|242.有效的字母异位词
    242.有效的字母异位词LeetCode题目要求给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。注意:若 s和t 中每个字符出现的次数都相同,则称 s和t......
  • 刷刷刷Day2| 142.环形链表II
    142.环形链表IILeetCode题目要求给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪......
  • 刷刷刷Day4|面试题 02.07. 链表相交
    面试题02.07.链表相交LeetCode题目要求给你两个单链表的头节点 headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回null。图示两......