My code:
public class Solution {
public int lengthOfLastWord(String s) {
if (s == null || s.length() == 0)
return 0;
int tail = s.length() - 1;
for (int i = s.length() - 1; i >= 0; i--) {
if (s.charAt(i) != ' ') {
tail = i;
break;
}
else
continue;
}
int lastIndex = -1;
for (int i = 0; i <= tail; i++) {
if (s.charAt(i) == ' ')
lastIndex = i;
}
if (lastIndex == -1)
return tail + 1;
else if (lastIndex == s.length() - 1)
return 0;
else
return tail - lastIndex;
}
public static void main(String[] args) {
Solution test = new Solution();
System.out.println(test.lengthOfLastWord("a bcs "));
}
}
My test result:
Paste_Image.png
這道題目還是挺有意思的凫海。需要先做個小處理猫缭,把尾巴后面的空格給去了病往,然后得到一個tail作為新的字符串的結(jié)束為止凰萨。
然后在開始遍歷鞠柄。然后考慮一些小細節(jié)侦高。
String 類的簡單題也不是很簡單啊,都需要想一想厌杜。
**
總結(jié): Array
**
Anyway, Good luck, Richardo!
My code:
public class Solution {
public int lengthOfLastWord(String s) {
if (s == null || s.length() == 0)
return 0;
for (int i = s.length() - 1; i >= 0; i--) {
char curr = s.charAt(i);
if (curr != ' ') {
int j = i;
while (j >= 1 && s.charAt(j - 1) != ' ')
j--;
return i - j + 1;
}
}
return 0;
}
}
這道題木如果從前往后掃描奉呛,會有點煩计螺。但是為什么不能從后往前掃呢?
從后往前掃瞧壮,找到第一個不是空格的字母登馒。然后單獨處理。就行了咆槽。
Anyway, Good luck, Richardo!
My code:
public class Solution {
public int lengthOfLastWord(String s) {
if (s == null || s.length() == 0) {
return 0;
}
int i = s.length() - 1;
while (i >= 0) {
if (s.charAt(i) == ' ') {
i--;
}
else {
break;
}
}
if (i < 0) {
return 0;
}
int j = i;
while (i >= 0) {
if (s.charAt(i) != ' ') {
i--;
}
else {
break;
}
}
return j - i;
}
}
簡單題陈轿,從后往前掃描就行了。
Anyway, Good luck, Richardo! -- 09/17/2016