欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Leetcode——58. Length of Last Word

程序员文章站 2024-03-14 21:34:23
...

题目难度

easy

题目描述

Leetcode——58. Length of Last Word

解题思路

给定一个字符串s由大/小写字母和空格字符组成,返回字符串中最后一个单词的长度。如果最后一个词不存在,返回0。
注意:一个词是指由非空格字符组成的字符序列。

  • 该题的难度为easy,我觉得题目考察的主要是一些临界情况的判断。LeetCode的很多题都是在考察边界情况的判断。
  • 在这里有3个临界情况需要考虑
    • ” ” 字符串中都是空格
    • “” 空字符串
    • “a ” 字符串后面有空格
  • 第一种情况与第三种情况合并到一起考虑就可以
  • 主要的解题思路:
    • (1) 将字符串使用toCharArray()方法转换为数组
    • (2) 从数组的最后一个元素向前遍历,遍历终止条件为遇到” “空格,在这步骤操作之前要保证最后一个元素不是” “,如果是” “空格,需要将数组下标向前移动直到移动到第一个不是空格的元素为止

AC代码

class Solution {
    public int lengthOfLastWord(String s) {
        int result = 0;
        int length = s.length();
        int i = length - 1;
        if(length == 0)
            return 0;
        char[] sToChar = s.toCharArray();
        while(length > 0 && sToChar[i] == ' '){
            length--;
            i--;
        }
        if(length == 0)
            return 0;
        while(length > 0) {
            if(sToChar[length-1] != ' '){
                result ++;
            }else {
                break;
            }
            length --;
        }
        return result;

    }
}