Length of Last Word 字符串中最后一个单词的长度 @LeetCode
2013-10-14 23:57
357 查看
/** * Length of Last Word * * Given a string s consists of upper/lower-case alphabets and empty space * characters ' ', return the length of last word in the string. * * If the last word does not exist, return 0. * * Note: A word is defined as a character sequence consists of non-space * characters only. * * For example, Given s = "Hello World", return 5. * */ public class S58 { public static void main(String[] args) { // String s = "Hello World"; String s = " dda "; System.out.println(lengthOfLastWord(s)); } // 从尾部向前遍历 public static int lengthOfLastWord(String s) { int i; int stringStart = -1; // 用于标示string开始的地方,即出现非空格的地方 for(i=s.length()-1; i>=0; i--){ // 如果已经出现string头,且有空格标示string尾 if(stringStart!=-1 && s.charAt(i) == ' '){ return stringStart-i; } // 如果尚未出现string头,且当前这个符合string头,则标记当前为string头 else if(stringStart==-1 && s.charAt(i) != ' '){ stringStart = i; } } // 如果string头已经找到了,而且已经遍历了整个string if(stringStart!=-1 && i == -1){ return stringStart+1; } return 0; } }
灵活使用trim函数
public class Solution {
public int lengthOfLastWord(String s) {
if(s==null || s.length()==0){
return 0;
}
s = s.trim();
int i = s.length()-1;
while(i >= 0) {
if(s.charAt(i) == ' ') {
return s.length()-i-1;
}
i--;
}
return s.length();
}
}
相关文章推荐
- 2013.10.14
- [资源共享]C#+AE构建GIS桌面端应用系统框架-全代码
- 一个信号量的例子
- 高性能MySql进化论(五):提速Alter Table
- linux 基本调优
- 不相关进程间传递文件描述符
- HDU--杭电--2102--A计划--深搜
- 计算几何题集
- 通过iOS 人机交互指南的变化看iOS7的设计理念
- hibernate学习笔记(二)
- 使用 OpenSSL API 进行安全编程,第 3 部分: 提供安全服务 OpenSSL 提供必要的能力
- 深入理解python之self
- SMALT手册
- 研究生生活点滴一
- 使用 OpenSSL API 进行安全编程,第 2 部分: 安全握手 防止中间人(MITM)攻击
- 内存共享实现聊天室程序
- C/C++ 命名规则
- Android手机模拟器旋转快捷键
- 电脑无端弹出“http://p.ecwan77.com/zt/lwzy/1.html”37玩广告为哪般?
- 使用 OpenSSL API 进行安全编程-创建基本的安全连接和非安全连接