题目描述: 用Java实现思路比较简单,但是时间不是很尽如人意。C语言实现时间为0ms。
代码实现(Java实现):
class Solution { public int lengthOfLastWord(String s) { if(s.length() == 0 || s == null){ return 0; } String[] str = s.split(" "); if(str.length == 0){ return 0; }else{ return str[str.length - 1].length(); } } } 自定义的测试用例:特例:"",为空," ",有空格无单词 结果:
代码(C语言实现):
int lengthOfLastWord(char * s){ int len = strlen(s); if(len == 0){//字符串为空,返回0 return 0; } int count = 0; for(int i = len -1;i >= 0;i--){ if(s[i] != ' '){//记录最后一个单词的长度 count++; }else if(s[i] == ' ' && count > 0){//如果此时遇到空格,且count大于0,说明此时count的大小就是最后一个单词的长度,如果count==0,则此前一直遇到空格,如i>=0,循环继续。 break; } } return count; } 结果: