一、题目
1、审题
2、分析
给出一个字符串,其中的单词用空格字符间隔,求最后一个单词的长度。
二、解答
1、思路:
方法一、从前向后遍历,用一个初始值为0的变量 lastWordLen 记录长度,当出现空格时 lastWordLen = 0;最终返回 lastWordLen 即可。
注意: 所给字符串首部和尾部可能都存在空格。
class Solution { public int lengthOfLastWord(String s) { s = s.trim(); if(s.length() == 0) return 0; int lastWordLen = 0; for(char c: s.toCharArray()) { lastWordLen++; if(c == ' ') lastWordLen = 0; } return lastWordLen; } }
方法二、从后向前遍历,先去除末尾的空格,再记录非空格的字符个数,再次出现空格时结束记录字符个数。
public int lengthOfLastWord(String s) { int index = s.length() - 1; if(index < 0) return 0; while(index >= 0 && s.charAt(index) == ' ') index--; int lastWordLen = 0; while(index >= 0 && s.charAt(index) != ' '){ lastWordLen++; index--; } return lastWordLen; }