力扣541.反转字符串 II

力扣541.反转字符串 II

在这里插入图片描述

示例

在这里插入图片描述

在这里插入图片描述

代码实现

class Solution {
   
    public String reverseStr(String s, int k) {
   
        char[] ans =s.toCharArray();
        for(int i=0;i<ans.length;i+=2*k){
   
          int begin = i;
          int end = Math.min(ans.length-1,begin+k-1);
          while(begin<end){
   
            char temp =ans[begin];
            ans[begin]=ans[end];
            ans[end]=temp;
            begin++;
            end--;
          }

        }
        return new String(ans);
    }
}

在这里插入图片描述

总结收获

这道题目其实就是模拟,实现题目中规定的反转规则就可以了。

但是在思考过程中,走了一些弯路,也就是为了处理逻辑我尝试这样做过:每隔2k个字符的前k的字符,写了一堆逻辑代码或者再搞一个计数器,来统计2k,再统计前k个字符。

但是其实在遍历字符串的过程中,只要让 i += (2 * k),i 每次移动 2 * k 就可以了,然后判断是否需要有反转的区间。因为要找的也就是每2 * k 区间的起点,这样写,程序会高效很多。

所以当需要固定规律一段一段去处理字符串的时候,要想想在在for循环的表达式上做做文章。

相关推荐

  1. 541. 字符串 II

    2023-12-08 19:50:01       30 阅读
  2. 541题: 字符串 II

    2023-12-08 19:50:01       77 阅读
  3. (leetcode)第541字符串II(Python)

    2023-12-08 19:50:01       53 阅读
  4. 541.字符串II

    2023-12-08 19:50:01       60 阅读
  5. leetcode541. 字符串II

    2023-12-08 19:50:01       57 阅读
  6. LeetCode 541. 字符串 II

    2023-12-08 19:50:01       165 阅读
  7. leetcode541 字符串 II

    2023-12-08 19:50:01       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-08 19:50:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-08 19:50:01       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-08 19:50:01       82 阅读
  4. Python语言-面向对象

    2023-12-08 19:50:01       91 阅读

热门阅读

  1. Glide系列-生命周期的监听

    2023-12-08 19:50:01       52 阅读
  2. macOS sandbox 获取用户路径文件夹

    2023-12-08 19:50:01       49 阅读
  3. final, finally, finalize的区别

    2023-12-08 19:50:01       48 阅读
  4. 算法训练营Day9(字符串,以后补KMP)

    2023-12-08 19:50:01       60 阅读
  5. 数据宝库:深入探讨数据隐私与安全的要义

    2023-12-08 19:50:01       51 阅读
  6. React中的页面跳转方式详解

    2023-12-08 19:50:01       51 阅读
  7. 前端实习面试常考(定位、文档流)

    2023-12-08 19:50:01       58 阅读