一、[344]反转字符串
- class Solution {
- public void reverseString(char[] s) {
- int left=0,right=s.length-1;
- while(left
- 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
- 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
- if(Character.isDigit(ch[i])){
- count++;
- }
- }
- int newLength=s.length()+5*count;
- char[] newCh=new char[newLength];
- for(int i=0;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);
- }
- }
-
相关阅读:
React学习总结
算法通关村17关 | 透析跳跃游戏
《向量数据库指南》——LlamaIndex 和 Milvus Cloud对于 Chat Towards Data Science 的作用
ShardingSphere分库分表(二):基础介绍
windows系统装成Ubuntu或linux后,无线/有线网卡无法连接或找不到适配器
基于Matlab多平台雷达网络生成雷达检测仿真(附源码)
docker安装rabbitmq集群部署(适合3.8.9版本以上),不同服务器
在Linux下如何实现禁止运行该程序多次?
Profinet转EtherNET/IP从站连接欧姆龙plc与西门子200smart通讯的配置方法
【数据结构】哈希桶
-
原文地址:https://blog.csdn.net/weixin_44925711/article/details/139651475