当前位置:网站首页>牛客 BM83 字符串變形(大小寫轉換,字符串反轉,字符串替換)
牛客 BM83 字符串變形(大小寫轉換,字符串反轉,字符串替換)
2022-07-03 14:38:00 【嘻嘻作者哈哈】
- 題目:BM83 字符串變形
思路
- 轉換大小寫。遍曆字符串,遇到小寫字母,轉換成大寫,遇到大寫字母,轉換成小寫,遇到空格正常不變。
- 反轉整個字符串。
- 以空格為界限,對每一個單詞單獨進行反轉。
import java.util.*;
public class Solution {
public String trans(String s, int n) {
// write code here
int len = s.length();
StringBuilder res = new StringBuilder(len);
// 第一步:轉換大小寫
for(int i = 0; i < len; ++i){
char cur = s.charAt(i);
if(cur >= 'a' && cur <= 'z'){
res.append((char)(cur - 'a' + 'A')); // 小寫變大寫
} else if(cur >= 'A' && cur <= 'Z'){
res.append((char)(cur - 'A' + 'a')); // 大寫變小寫
} else{
res.append(cur); // 空格
}
}
// 第二步:翻轉整個字符串
res = res.reverse();
// 第三步:單個單詞進行翻轉
int i = 0;
int j = 0;
while(i < len){
j = i; // 指向空格
// 以空格為邊界,翻轉一個單詞
while(j < len && res.charAt(j) != ' '){
++j;
}
// 截取[i, j)區間的子串
StringBuilder word = new StringBuilder(res.substring(i, j));
word = word.reverse(); // 翻轉單詞
res.replace(i, j, word.toString()); // 替換原單詞
i = j + 1; // 從下一個單詞開始
}
return res.toString();
}
}
總結
- 小寫變大寫:
ch = ch - 'a' + 'A'
- 大寫變小寫:
ch = ch - 'A' + 'a'
- 字符串反轉:
str = str.reverse()
- 截取子串:
sub = str.substring(start, end)
- 子串替換:
str.replace(start, end, str1)
边栏推荐
- dllexport和dllimport
- Luogu p5536 [xr-3] core city solution
- Zzuli:1053 sine function
- 【7.3】146. LRU caching mechanism
- 如何查询淘宝天猫的宝贝类目
- Analysis of gene family characteristics - chromosome location analysis
- China PETG market forecast and Strategic Research Report (2022 Edition)
- On MEM series functions of C language
- Tonybot Humanoïde Robot Infrared Remote play 0630
- 7-22 tortoise and rabbit race (result oriented)
猜你喜欢
tonybot 人形机器人 首次开机 0630
US stock listing of polar: how can the delivery of 55000 units support the valuation of more than 20billion US dollars
Rasterization: a practical implementation (2)
Zzuli:1053 sine function
tonybot 人形機器人 紅外遙控玩法 0630
On MEM series functions of C language
C language to realize mine sweeping
puzzle(016.4)多米诺效应
Code writing and playing method of tonybot humanoid robot at fixed distance
ConstraintLayout 的使用
随机推荐
C language STR function
7-14 sum integer segments (C language)
表单文本框的使用(一) 选择文本
分布式事务(Seata) 四大模式详解
Zzuli:1040 sum of sequence 1
7-17 crawling worms (break exercise)
7-20 print 99 formula table (format output)
Puzzle (016.4) domino effect
Table of mathematical constants by q779
Protobuf and grpc
1017 a divided by B (20 points)
7-15 calculation of PI
Creation of data table of Doris' learning notes
关于敏捷的一些概念
Implement Gobang with C language
【7.3】146. LRU缓存机制
Time conversion ()
Zzuli:1057 prime number determination
Find the sum of the elements of each row of the matrix
Luogu p5536 [xr-3] core city solution