还是先来看题目:
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
请注意,你可以假定字符串里不包括任何不可打印的字符。
示例:
输入: "Hello, my name is John"
输出: 5
一看,觉得这不简单吗,想着就得用字符串分割,直接用一个split函数就解决问题了。还是先正确的结果放上去吧。
思路也简单,首先将开头与末尾的空格通过trim()方法去掉,然后再按空格截取字符串。为什么选用“\\s+”是因为空格的个数不确定,如果直接用“ ”有多个空格在一起的情况则不能够通过。
class Solution {
public int countSegments(String s) {
String trimmed = s.trim();
if(trimmed.equals("")){
return 0;
}
String[] ss = trimmed.split("\\s+");
return ss.length;
}
}
最开始写的代码就是也没有调用trim方法,因为没有考虑到开始和末尾有空格的情况,结果就是通不过,然后又写上去之后还是不行,问题就出在没有考虑到中间多个空格的话截取是多个字符串。。。
总结:一些小细节也要考虑到,给的示例只是最基本最简单的例子,还要考虑到比较特殊的情况,一定要记得前面的考虑。
举一隅不以三隅反,这样不应该。