最近为了提高编程能力,开始了刷leetcode题~主要用java来编程,希望能坚持下来!除了坚持刷题,我也要坚持写博客,虽然是很简单的题也要坚持下去!!!
题目:给定一个字符串 s,单词之间以空格分开,返回最后一个单词的长度。如果不存在最后的单词,返回 0。
Note: 如果输入”a “,返回长度为 1
1. 首先蠢蠢的循环的方法
public class Solution {
public int lengthOfLastWord(String s) {
int len=0,i=s.length();//用len表示最后单词的长度
if(i==0) return 0; //不存在单词返回0
if(s.charAt(s.length()-1)!=' ')//如果结尾不是空格
{
while(i>0)
{
if(s.charAt(i-1)!=' ')
{
len++;
i--;
}
else break;
}}
//去除结尾空格返回末尾单词长度
else return lengthOfLastWord(s.substring(0, s.length()-1));
return len;
}
}
2.只有三行的java代码
public int lengthOfLastWord(String s) {
if (s.length() == 0 || s.split("\\s").length == 0)
return 0;
return s.split("\\s")[s.split("\\s").length - 1].length();
}
用到了split,赶快记下split的用法。
java.lang.string.split
split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator,[limit]])
参数
- stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
- separator
可选项。字符串或 正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
- limit
可选项。该值用来限制返回数组中的元素个数。
说明
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解
split函数,get!
以后继续!!!!!!!!