自学内容网 自学内容网

leecode58最后一个单词的长度

题目

leecode58. 最后一个单词的长度

给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。

单词 是指仅由字母组成、不包含任何空格字符的最大
子字符串
。

 

示例 1:

输入:s = "Hello World"
输出:5
解释:最后一个单词是“World”,长度为 5。
示例 2:

输入:s = "   fly me   to   the moon  "
输出:4
解释:最后一个单词是“moon”,长度为 4。
示例 3:

输入:s = "luffy is still joyboy"
输出:6
解释:最后一个单词是长度为 6 的“joyboy”。
解题思路

方法一: 从后向前遍历,遇到第一个空格符合,记录当前位置index,再计算出index与字符串最后一位字符之间的长度。

代码实现

import "strings"
func lengthOfLastWord(s string) int {
    // 去掉末尾的空格
    s = strings.TrimRight(s," ")

    // 如果只有一个单词的情况
    if !strings.Contains(s, " ") {
        return len(s)
    }

    // 从后往前遍历,遇到空格记录位置
    var index int
    for i:=len(s)-1;i>=0;i--{
        if s[i] == ' ' {
            index = i
            break
        }
    }
    // 计算index与字符串末尾,之间的字符串的长度
    var length = len(s)-1 - (index+1)  + 1
    return length
}

原文地址:https://blog.csdn.net/xsw164711368/article/details/142865100

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!