您的位置:首页 > 其它

LeetCode - 58. Length of Last Word

2016-07-13 23:08 495 查看
第一种方法是完全不用String所提供的库函数,首先使用一个指针i指向String的末尾,当i等于‘ ’的时候i--,跳过String尾部的‘ ‘,然后使用第二个指针j,令其等于i,然后当j指向的元素不为’ ‘的时候向前移动j,直到当前j指向’ ‘或者j == -1。

此时要对j的情况进行判断,如果当前的j是指向’ ‘,那么最后一个单词的长度为i - j,如果i为-1的话,那么最后一个单词的长度为i + 1,代码如下:

public class Solution {
public int lengthOfLastWord(String s) {
if(s == null || s.length() == 0) return 0;

int length = s.length();
int i = length - 1;
int j;

// Jump ' ' in the end of String
while(i >= 0 && s.charAt(i) == ' ') i--;
j = i;

while(j >= 0 && s.charAt(j) != ' ') j--; // count chars

if(i < 0) return i + 1;
else return i - j;
}
}
第二种方法完全使用String的库函数,非常简洁,只有一行,代码如下:

public class Solution{
public int lengthOfLastWord(String s) {
return s.trim().length()-s.trim().lastIndexOf(" ")-1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息