首页 > 其他 > 详细

LeetCode58. 最后一个单词的长度

时间:2021-06-02 15:33:34      阅读:18      评论:0      收藏:0      [点我收藏+]

LeetCode58. 最后一个单词的长度

题目描述

/**
     * 
     * 给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。
     * 如果不存在最后一个单词,请返回 0 。
     *
     * 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
     *
     */

思路分析

  1. 给定一个字符串,寻找最后一个子串,返回其长度,题目比较简单,注意考虑在字符串末尾有空格的情况
  2. 如果有空格,则需要先去除空格,然后再定义一个变量记录最后一个字符串的初始索引
  3. 返回字符串的长度即可
  4. 源码及分析见下

源码及分析

/**
     * @param s 原始字符串
     * @return 返回最后一个子串
     */
    public int lengthOfLastWord(String s) {
        //定义end保存最后一个非空字符串的最后一个字符索引,默认为len - 1,考虑最后一个字符串为空的情况
        int end = s.length() - 1;
        //循环移除最后的空串
        while (end >= 0 && s.charAt(end) == ‘ ‘){
            end--;
        }
        //判断字符串是否为空串
        if (end < 0){
            return 0;
        }
        //定义start保存最后一个非空字符串的第一个字符索引
        int start = end;
        //循环寻找start位置
        while (start >= 0 && s.charAt(start) != ‘ ‘){
            start--;
        }
        //循环结束时start已经指向最后一个字符串的第一个字符索引
        return end - start;
    }

LeetCode58. 最后一个单词的长度

原文:https://www.cnblogs.com/mx-info/p/14840127.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!