当前位置: 首页 > article >正文

【力扣】541.反转字符串2

问题描述

思路解析

  • 每当字符达到2*k的时候,判断,同时若剩余字符>k,只对前k个进行判断(这是重点)
  • 因为字符串是不可变变量,所以将其转化为字符串数组,最后才将结果重新转变为字符串
    • 字符串->字符数组        s.toCharArray()
    • 字符数组->字符串        new String(arr)
  • 将反转的函数单独写出来,便于观察理解

代码

class Solution {
    public String reverseStr(String s, int k) {
        int n=s.length();
        char[] arr= s.toCharArray();

        for(int i=0;i<n;i+=2*k){
            reverse(arr,i,Math.min(i+k,n)-1);
        }

        return new String(arr);
    }

    public void reverse(char[] arr,int left,int right){
        while(left<right){
            char temp=arr[left];
            arr[left]=arr[right];
            arr[right]=temp;
            left++;
            right--;
        }
    }
}


http://www.kler.cn/a/415168.html

相关文章:

  • 中科亿海微SoM模组——波控处理软硬一体解决方案
  • springboot/ssm高校超市管理系统Java商品出入库供应商管理系统web源码wms
  • 【RL Base】强化学习核心算法:深度Q网络(DQN)算法
  • 【算法day1】数组:双指针算法
  • 一、Java 动态字节码增强技术概述
  • 【详细介绍及演示】Flink之checkpoint检查点的使用
  • 银行卡OCR 识别 API 接口如何用PHP如何调用
  • 命令行使用ssh隧道连接远程mysql
  • 认识网络安全
  • 重构代码之将单向关联转换为双向关联
  • 【Npm】--legacy-peer-deps有什么用
  • CWT-CNN-SABO-LSSVM | Matlab实现基于CWT-CNN-SABO-LSSVM对滚动轴承的故障诊断
  • [241127] Mistral AI 更新 Le Chat,免费提供前沿 AI 助手!| TrendForce 预测 2025 十大科技趋势
  • 什么是第4层(TCP/UDP)和第7层(HTTP/HTTPS)
  • UDP客户端服务器通信
  • 原生微信小程序画表格
  • 嵌入式Rust小探
  • 利用树莓派Pico制作迷你小台灯:C++与硬件设计结合的分享
  • node.js基础学习-url模块-url地址处理(二)
  • JVM 常见面试题及解析(2024)
  • 网络安全(1)_对称加密和非对称加密
  • 本地局域 基于ip地址生成证书
  • 《Vue零基础入门教程》第十二课:双向绑定指令
  • 详细分析 npm run build 基本知识 | 不同环境不同命令
  • 数据库期末复习题库
  • Vue3组件异步懒加载defineAsyncComponent