leecode541反转字符串(带有调试代码)

2023-11-08

完整带有调试代码

package heima_study.day3;

import java.util.Scanner;

public class 反转字符串541 {
    public static void main(String[] args) {
        Scanner input= new Scanner(System.in);
        String s = input.next();
        int k = input.nextInt();
        String temp = reverseStr(s, k);
        System.out.println(temp);
        input.close();
    }


    public static String reverseStr(String s, int k) {
        char[] ch = s.toCharArray();
        for(int i = 0;i < ch.length;i += 2 * k){
            int start = i;
            // 判断尾数够不够k个来取决end指针的位置
            //这个判断好6啊,本来的if判断直接缩成一句了
            int end = Math.min(ch.length - 1,start + k - 1);
            while(start < end){
                
                char temp = ch[start];
                ch[start] = ch[end];
                ch[end] = temp;

                start++;
                end--;
            }
        }
        return new String(ch);
    }
}

错误代码(不用看,理解错题目意思了)

/*     public static String reverseStr(String s, int k) {
        char[] ch = s.toCharArray();
        //System.out.println(ch);
        //这个题典型的双指针的做法
        int low=0;
        int fast = k*2-1;
        int length = s.length();
        int end=fast;
        while(low<fast&&fast<length){
            //0-2k-1 2k-4k-1; 相差2k-
            char temp  = ch[fast];
            ch[fast]= ch[low];
            ch[low]= temp;
            low++;
            fast--;
            //对于题目的情况,我们直接进行if语句进行判断就行
            //剩余字符刚好2k个
            if((low>=fast)&&end+2*k<length){
                fast=end+2*k;
                low=end+1;
                end=fast;
            }
            // k到2k个
            else if(low>=fast&&end+2*k>length&&end+k<length){
                fast=end+k;
                low=end+1;
                end=fast;                
            }
            //小于k个
            else if(low>=fast&&end+k>length){
                fast=length-1;
                low=end+1;
            }
            //剩余字符刚好大于k小于2k个
        }

        return new String(ch);
    } */
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

leecode541反转字符串(带有调试代码) 的相关文章

随机推荐

  • volatile关键字概览

    1 多线程下变量的不可见性 1 1 概述 在多线程并发执行下 多个线程修改共享的成员变量 会出现一个线程修改了共享变量的值后 另一个线程不能直接看到该线程修改后的变量的最新值 package Ls import java util Hash
  • python book.save_Writer.save文件()使用新名称python

    尝试用其他名称保存excel文件时出错 这是我代码的一部分 precios read pd read excel Precios xls format auth2 sheet name Precios precios read precio
  • 如何使用树莓派连接电脑无线网络热点并查看树莓派ip地址

    1 确保电脑已经联网 在电脑右下角点开 网络连接 打开 无线热点 右键转到 设置 2 查看 热点名称和密码 并确保网络频率为2 4GHz 树莓派现时只支持802 11 n的WIFI标准所以只能连接2 4G网络 所以你需要确保你所连接的是2
  • RSA密钥长度、明文长度和密文长度

    RSA密钥长度 明文长度和密文长度 本文整理RSA加解密中必须考虑到的密钥长度 明文长度和密文长度问题知识 对第一次接触RSA的开发人员来说 RSA算是比较复杂的算法 以后还会补充几篇RSA基础知识专题文章 用最简单最通俗的语言描述RSA
  • tomcat与myeclipse的安装与建立连接

    tomcat与myeclipse的安装与建立连接 1 首先需要下载Tomcat与Myeclipse 官网下载 Tomcat http tomcat apache org Myeclipse http www myeclipseide com
  • docker 容器内报错 Failed to establish a new connection: [Errno -3] Temporary failure in name ....

    docker 直接镜像 save 然后 load 当 load 到不同主机后 由于镜像的配置文件完整保存 默认的 bridge 网络会继承原主机的配置项 这样会导致在另一个主机上可能会出现网络请求无法发出的问题 这时可以通过直接将 brid
  • Centos系统上nginx安装

    目录 一 安装nginx依赖 pcre 二 安装 openssl zlib gcc 依赖 三 安装nginx 四 启动nginx 五 访问nginx 前置 创建nginx目录后 进入nginx目录下操作 root ecs b612 mkdi
  • java根据模板导出PDF详细教程(无bug版)

    题记 由于业务的需要 需要根据模板定制pdf文档 经测试根据模板导出word成功了 但是导出pdf相对麻烦了一点 两天的研究测试java导出PDF 终于成功了 期间走了不少弯路 今分享出来 欢迎大家有问题在此交流 与君共勉 一 需求 根据业
  • wx.getUserInfo() API的使用方案流程汇总

    注 wx getUserInfo API 官网介绍是获取用户信息功能 但是在小程序中调用时弹出的框展示的是授权登录弹框 所以下文中说的 授权登录 和 获取用户信息 都是指这个功能 所遇问题 本文主要聊一聊wx getUserInfo API
  • 反射与注解

    反射与注解 一 反射 使用反射机制可以动态的获取当前class的信息 比如方法的信息 注解信息 方法的参数 属性 反射目的 方便开发者对框架的拓展 缺点 消耗一定资源 破坏封装性 二 字节码对象创建方式 Class class1 类名 cl
  • 测试学习(三)——用例编写

    一 穷举场景设计测试点 等价类划分法 针对穷举场景设计测试点 步骤 1 明确需求 2 确定有效和无效等价 3 提取数据 编写用例 用例总数原则 正向 有效数据集 一条用例尽可能覆盖多条 逆向 无效数据集 每一条用例都是一个单独用例 用例编写
  • Vue2按需引入vant组件

    1 先引入vant Ui 选择Vue2项目引入 引入 vant Ui npm i vant latest v2 S 按需引入 npm i babel plugin import D 2 在根目录创建 babel config js文件 mo
  • 学习笔记:射频基础测试参数(S参数、OP1dB、IMD、NF)

    本篇非常表面的介绍了一些射频测试测量的基本参数 主要包括有S参数 OP1dB IMD NF等基础测试测量 只针对个人方便记录 目录 1 S参数 2 OP1dB 1dB压缩点 3 IMD 互调 IP3 3阶截获点 4 NF 噪声系数 1 S参
  • HBase集群搭建记录

    本文目录 写在前面 step1 下载并解压HBase step2 环境变量的配置 step3 配置文件修改 1 hbase env sh修改 2 hbase site xml 修改 3 regionservers 修改 4 backup m
  • 什么是3D NAND闪存,它到底优秀在哪?

    科技云报道原创 随着SSD的普及 SSD已经不再那么神秘 开始逐渐被人们所熟知 但是对于3D NAND闪存 很多人还不是很了解 今天我们就来聊聊3D NAND这个话题 3D NAND出现的原因 要聊3D NAND闪存价值 我们需要快速回顾一
  • 小森生活显示服务器,小森生活无可用网关服务器处理怎么回事 要怎么处理

    小森生活无可用网关服务器的问题越来越严重了 部分玩家都出现了网络连接不顺畅 登录不上游戏的情况 那么遇到小森生活无可用网关服务器怎么办呢 下面小编就为大家带来无可用网关服务器处理方法 赶快来看下吧 小森生活无可用网关服务器怎么办 一 检查小
  • 网上惊现刘翔等30位明星QQ号.

    继明星电话 家庭住址相继被曝光之后 日前有好事者又发帖曝光30明星的QQ号码 周杰伦 刘德华等港台明星 张含韵 周笔畅 李宇春等内地明星都榜上有名 昨日经过记者求证 曝光的很多QQ号码都是明星正在使用的 而明星经纪人也表示 QQ号码曝光危害
  • 通过java实现word转PDF

    介绍 用于java项目中解决word转pdf的需求 转换的效果跟调用的工具类 字体库 源文件 是wps还是microsoft保存的 格式版本等 系统环境等多个因素相关 没有百分百完成的方法 只有不断尝试 选择适合的方法 以下介绍三个能实现该
  • css 实现表单验证效果

    实例
  • leecode541反转字符串(带有调试代码)

    完整带有调试代码 package heima study day3 import java util Scanner public class 反转字符串541 public static void main String args Sca