一开始我觉得,只要从后面开始找,遇到第一个空格就结束。
没想到,输入的根本不是正常的英文句子
“空格a”
"空格a空格"
"a空格"
......
后来想了想,还是从后面开始
遇到空格就一直跳过,直到遇到了字母,在字母里面开始计数!
再次遇到空格就break即可
//先把特殊情况解决了 if(s==null||s.length()==0) return 0; int count = 0; boolean skipSpace = true; //从后面开始,遇到空格就跳过,知道遇到第一个字母,开始计数,再遇到空格就break for(int i=s.length()-1;i>=0;i--){ if(s.charAt(i)==' '){ if(!skipSpace) break; }else{ //遇到字母了 count++; skipSpace=false; } } return count;