leetcode-07-[344]反转字符串[541]反转字符串II[卡码网54]替换数字

一、[344]反转字符串

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

二、[541]反转字符串II

重点:

1、字符数组转String 一般 new String(ch);

Arrays.toString(ch);  将数组转换成String类型输出的
输出示例:
[b,a,c,d,f,e,g]

会出现错误

class Solution {
    public String reverseStr(String s, int k) {
        char[] ch = s.toCharArray();
        for(int i=0;i< ch.length;i=i+2*k){
            int start=i;
            int end = Math.min(ch.length - 1, k - 1 + start);
            while(start<end){
                char tmp=ch[start];
                ch[start]=ch[end];
                ch[end]=tmp;
                start++;
                end--;
            }
        }
        //将数组转换成String类型输出的
        //Arrays.toString(ch);
        //[b,a,c,d,f,e,g]
        return new String(ch);
    }
}

三、[卡码网54]替换数字

重点:String 不可变

转为字符数组

或者用StringBuffer 、StringBuilder

import java.util.*;
//类名必须为Main
public class Main{
	public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.next();
        String res = replaceDigits(s);
        System.out.println(res);
        scanner.close();
    }
    public static String replaceDigits(String s) {
        char[] ch = s.toCharArray();
        int count=0;
        for(int i=0;i<s.length();i++){
            if(Character.isDigit(ch[i])){
                count++;
            }
        }
        int newLength=s.length()+5*count;
        char[] newCh=new char[newLength];
        for(int i=0;i<s.length();i++){
            newCh[i]=ch[i];
        }
        int j=newLength-1;
        for(int i=s.length()-1;i>=0;i--){
            if(!Character.isDigit(newCh[i])){
                newCh[j]=newCh[i];
                j--;
            }else{
                //number
                newCh[j--]='r';
                newCh[j--]='e';
                newCh[j--]='b';
                newCh[j--]='m';
                newCh[j--]='u';
                newCh[j--]='n';
            }
        }
        return new String(newCh);
    }
}

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-06-14 08:06:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-14 08:06:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-14 08:06:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-14 08:06:02       20 阅读

热门阅读

  1. Postman接口测试工具详解:高效API测试实践指南

    2024-06-14 08:06:02       6 阅读
  2. NLP数据集的标注笔记0.1.000

    2024-06-14 08:06:02       7 阅读
  3. DES文件加密解密(增强版)

    2024-06-14 08:06:02       7 阅读
  4. 等保测评练习题11

    2024-06-14 08:06:02       5 阅读
  5. ES的高可用

    2024-06-14 08:06:02       6 阅读
  6. C++240613

    C++240613

    2024-06-14 08:06:02      6 阅读
  7. 通过图片demo生成随机图片

    2024-06-14 08:06:02       4 阅读
  8. HTTP与HTTPS

    2024-06-14 08:06:02       5 阅读
  9. 网络安全练气篇——Web与Http基础

    2024-06-14 08:06:02       7 阅读
  10. Postman接口测试工具:全面解析与应用指南

    2024-06-14 08:06:02       6 阅读
  11. 掌握Mock.js基本使用:快速模拟API实现增删改查

    2024-06-14 08:06:02       7 阅读
  12. IETAB 在线用印失败的问题排查

    2024-06-14 08:06:02       6 阅读
  13. HTML5 新元素

    2024-06-14 08:06:02       9 阅读
  14. 综合数据分析及可视化实战

    2024-06-14 08:06:02       8 阅读