ToB企服应用市场:ToB评测及商务社交产业平台
标题:
【华为机试】单词倒叙
[打印本页]
作者:
曂沅仴駦
时间:
2023-5-26 11:39
标题:
【华为机试】单词倒叙
题目描述:
输入单行英文句子,里面包含英文字母,空格以及,.?三种标点符号,请将句子内每个单词进行倒序,并输出倒序后的语句
输入描述:
输入字符串 S, S 的长度 1≤N≤100
输出描述:
输出逆序后的字符串。
解题思路:
遍历给定句子,判断如果字母,则插入到指定位置,如果是指定标点,则追加到后面
代码:
public String solution(String sentence) {
StringBuilder result = new StringBuilder();
// 字符插入位置
int start = 0;
for (int i = 0; i < sentence.length(); i++) {
// 如果是普通字符,插入到指定位置,如果是指定标点符号,则追加到后面
char c = sentence.charAt(i);
if (c == ',' || c == '.' || c == '?' || c == ' ') {
// 插入位置变更为标点符号之后一个位置,保证每个单词顺序不会发生变化
start = i+1;
result.append(c);
continue;
}
result.insert(start, c);
}
return result.toString();
}
复制代码
以上是我的思路,如果有遗漏的点请在评论区指出,谢谢
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4