当前位置:网站首页>牛客 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)
边栏推荐
- 分布式事务(Seata) 四大模式详解
- 556. The next larger element III
- Ultra simple mobile map development
- 洛谷P4047 [JSOI2010]部落划分 题解
- 7-20 print 99 formula table (format output)
- How to query the baby category of tmall on Taobao
- 7-3 rental (20 points)
- Luogu p5194 [usaco05dec]scales s solution
- Programming language: the essence of type system
- 关于敏捷的一些概念
猜你喜欢

NPM install is stuck with various strange errors of node NPY

retrofit

On MEM series functions of C language

Tonybot humanoid robot infrared remote control play 0630

556. The next larger element III

Detailed explanation of four modes of distributed transaction (Seata)

pyQt界面制作(登录+跳转页面)

Paper sharing: generating playful palettes from images

tonybot 人形機器人 紅外遙控玩法 0630

如何查询淘宝天猫的宝贝类目
随机推荐
提高效率 Or 增加成本,开发人员应如何理解结对编程?
7-16 find the set of integers that meet the given conditions
Thread. Sleep and timeunit SECONDS. The difference between sleep
Common commands for getting started with mongodb database
7-28 monkeys choose King (Joseph problem)
X86 assembly language - Notes from real mode to protected mode
Timecho of Tianmou technology completed an angel round financing of nearly 100 million yuan to create a native timing database of the industrial Internet of things
String sort
556. The next larger element III: simple construction simulation questions
J-luggage lock of ICPC Shenyang station in 2021 regional games (simple code)
ConstraintLayout 的使用
Paper sharing: generating playful palettes from images
C language STR function
Showmebug entered Tencent conference, opening the era of professional technical interview
tonybot 人形機器人 紅外遙控玩法 0630
Mongodb index
Use of form text box (I) select text
7-19 check denomination (solve binary linear equation)
适用于XP的DDK
Understand the application scenario and implementation mechanism of differential segment