LeetCode 题目详情:
给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: "Hello World"
输出: 5
自己的解法:
class Solution {
public int lengthOfLastWord(String s) {
if(s == null || s.trim().length() == 0){
return 0;
}
int len = s.split(" ").length;
return s.split(" ")[len-1].length();
}
}
思考:
之前 每次 判断 string 都是直接写
if( s == null || s.length() ==0){}
这次遇到相关的问题,把这个东西看了下。
String 一般需要考虑三个情况:
null (当定义变量写在方法体外边时,可以不做初始化,此时string 为 null)。 此时 不能调用 s.equal(x) 和 s.length()
"" 空串,是String 的一种特殊形式,没有值,但是是字符串,此时 所有的字符串方法都能用
" " 空格串,是String,内容是 空格,此时判断需要 trim(),所以在判断字符串的时候,经常见 trim(), 调用trim()之后,就变成了 空串。
总结: 遇到 字符串判断 直接上 :
if( s == null || s.length() ==0){}
leetCode 的评级:

接下来的测试--使用其他思路:
class Solution {
public int lengthOfLastWord(String s) {
if(s == null || s.trim().length() == 0){
return 0;
}
int lastLen = 0;
int count = 0;
char[] cs = s.toCharArray();
for(int i = 0; i < s.length(); i++){
if(cs[i] == ' '){
if(count != 0){ // 判断 纯属 为了 " "、 " "
lastLen = count;
}
count = 0;
}else{
count ++;
if(i == s.length()-1){ // 判断为了 最后一个不是 " "
lastLen = count;
}
}
}
return lastLen;
}
}
评级:

0
本文解析了LeetCode中一道关于字符串处理的题目,目标是找到并返回给定字符串中最后一个单词的长度。文章详细展示了两种不同的解题思路及代码实现,包括直接利用Java内置方法和逐字符遍历的方法。
431

被折叠的 条评论
为什么被折叠?



