当前位置:网站首页>牛客 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)
边栏推荐
- Puzzle (016.3) is inextricably linked
- 7-3 rental (20 points)
- 分布式事务(Seata) 四大模式详解
- Programming language: the essence of type system
- Sword finger offer 28 Symmetric binary tree
- Rasterization: a practical implementation (2)
- Adc128s022 ADC Verilog design and Implementation
- Zzuli:1055 rabbit reproduction
- Zzuli:1047 logarithmic table
- Add ZABBIX calculation type itemcalculated items
猜你喜欢

Programming language: the essence of type system

puzzle(016.4)多米诺效应

Dllexport and dllimport

提高效率 Or 增加成本,开发人员应如何理解结对编程?

Doris学习笔记之数据表的创建

Happy capital new dual currency fund nearly 4billion yuan completed its first account closing

Analysis of gene family characteristics - chromosome location analysis

How to query the baby category of tmall on Taobao

US stock listing of polar: how can the delivery of 55000 units support the valuation of more than 20billion US dollars

Why is this error reported when modifying records in the database
随机推荐
The mail function of LNMP environment cannot send mail
Happy capital new dual currency fund nearly 4billion yuan completed its first account closing
pyQt界面制作(登录+跳转页面)
556. The next larger element III
Four data flows and cases of grpc
光猫超级账号密码、宽带账号密码 获取
[combinatorics] permutation and combination (set combination, one-to-one correspondence model analysis example)
NFT new opportunity, multimedia NFT aggregation platform okaleido will be launched soon
dllexport和dllimport
Paper sharing: generating playful palettes from images
Write a 2-minute countdown.
Tonybot Humanoïde Robot Infrared Remote play 0630
Convert string to decimal integer
ConstraintLayout 的使用
牛客 BM83 字符串变形(大小写转换,字符串反转,字符串替换)
Find specified characters
Zhejiang University Edition "C language programming (4th Edition)" topic set reference ideas set
556. The next larger element III: simple construction simulation questions
【7.3】146. LRU缓存机制
Dllexport and dllimport