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


    一、[344]反转字符串

    1. class Solution {
    2. public void reverseString(char[] s) {
    3. int left=0,right=s.length-1;
    4. while(left
    5. char tmp=s[left];
    6. s[left]=s[right];
    7. s[right]=tmp;
    8. left++;
    9. right--;
    10. }
    11. }
    12. }

    二、[541]反转字符串II

    重点:

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

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

    会出现错误

    1. class Solution {
    2. public String reverseStr(String s, int k) {
    3. char[] ch = s.toCharArray();
    4. for(int i=0;i< ch.length;i=i+2*k){
    5. int start=i;
    6. int end = Math.min(ch.length - 1, k - 1 + start);
    7. while(start
    8. char tmp=ch[start];
    9. ch[start]=ch[end];
    10. ch[end]=tmp;
    11. start++;
    12. end--;
    13. }
    14. }
    15. //将数组转换成String类型输出的
    16. //Arrays.toString(ch);
    17. //[b,a,c,d,f,e,g]
    18. return new String(ch);
    19. }
    20. }

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

    重点:String 不可变

    转为字符数组

    或者用StringBuffer 、StringBuilder

    1. import java.util.*;
    2. //类名必须为Main
    3. public class Main{
    4. public static void main(String[] args) {
    5. Scanner scanner = new Scanner(System.in);
    6. String s = scanner.next();
    7. String res = replaceDigits(s);
    8. System.out.println(res);
    9. scanner.close();
    10. }
    11. public static String replaceDigits(String s) {
    12. char[] ch = s.toCharArray();
    13. int count=0;
    14. for(int i=0;i
    15. if(Character.isDigit(ch[i])){
    16. count++;
    17. }
    18. }
    19. int newLength=s.length()+5*count;
    20. char[] newCh=new char[newLength];
    21. for(int i=0;i
    22. newCh[i]=ch[i];
    23. }
    24. int j=newLength-1;
    25. for(int i=s.length()-1;i>=0;i--){
    26. if(!Character.isDigit(newCh[i])){
    27. newCh[j]=newCh[i];
    28. j--;
    29. }else{
    30. //number
    31. newCh[j--]='r';
    32. newCh[j--]='e';
    33. newCh[j--]='b';
    34. newCh[j--]='m';
    35. newCh[j--]='u';
    36. newCh[j--]='n';
    37. }
    38. }
    39. return new String(newCh);
    40. }
    41. }

  • 相关阅读:
    彻底掌握Makefile(一)
    word转PDF的方法 简介快速
    解析java中的clone方法
    Mysql数据重复问题处理
    Windows 上杀端口和相关进程
    传统伪影去除方案
    一图了解es6常用数据迭代函数map,filter,fill,reduce
    英语小三门
    webpack 中 require.context() 的用法
    STM32单片机-BKP和RTC
  • 原文地址:https://blog.csdn.net/weixin_44925711/article/details/139651475