给定一个标题(一个字符串),将每个单词的首字母大写,但如果单词的长度小于等于2,则将其转换为全部小写。这个问题考察了字符串的基本操作,包括分割、大小写转换以及条件判断。
实现一个函数 capitalizeTitle
,它接受一个字符串 title
作为输入,返回转换后的标题。算法的主要步骤如下:
- 分割字符串:使用空格将标题分割成单词数组。
- 逐词处理:对于每个单词,根据其长度应用不同的大小写规则:
- 如果单词长度大于2,将首字母大写,其余字母小写。
- 如果单词长度小于等于2,将整个单词转换为小写。
- 拼接结果:处理完所有单词后,将它们重新拼接成一个字符串,单词之间用一个空格分隔。
class Solution {
public String capitalizeTitle(String title) {
String[] strs = title.split(" ");
StringBuilder sb = new StringBuilder();
for(int j = 0; j < strs.length; j++) {
String str = strs[j];
if(str.length() > 2) {
sb.append(str.substring(0, 1).toUpperCase())
.append(str.substring(1).toLowerCase());
} else {
sb.append(str.toLowerCase());
}
if(j != strs.length - 1) {
sb.append(" ");
}
}
return sb.toString();
}
}