Leecode刷题之旅-C语言/python-58.最后一个单词的长度
/*
* @lc app=leetcode.cn id=58 lang=c
*
* [58] 最后一个单词的长度
*
* https://leetcode-cn.com/problems/length-of-last-word/description/
*
* algorithms
* Easy (28.96%)
* Total Accepted: 18.8K
* Total Submissions: 65K
* Testcase Example: '"Hello World"'
*
* 给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。
*
* 如果不存在最后一个单词,请返回 0 。
*
* 说明:一个单词是指由字母组成,但不包含任何空格的字符串。
*
* 示例:
*
* 输入: "Hello World"
* 输出: 5
*
*
*/
int lengthOfLastWord(char* s) {
int count=;
for(int i=strlen(s)-;i>=;i--){
if(s[i]!=' ') count++;
else if(count) break;
}
return count;
}
这道题的思路是,数组逆序查找,如果当前的值不是空格,就把计数器加一,如果是空格的话就break。
但是如果这么写的话就考虑不到后面几位是空格的情况。
所以加了一句 else if(count) break;
其实就是把多种情况融合成一种,就是当我们的计数器等于一的时候会有两种情况:
1.这个字符刚刚开始,我们刚统计。
2.这个字符只有一个,下一个就是空格,我们就统计完了。
所以说接下来的判断就是如果有其他的字符的话,就继续计数器加一,没有的话,我们的计数器等于一,意味着下一位是空格,工作结束,直接break返回1即可。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
python:
#
# @lc app=leetcode.cn id=58 lang=python3
#
# [58] 最后一个单词的长度
#
# https://leetcode-cn.com/problems/length-of-last-word/description/
#
# algorithms
# Easy (28.96%)
# Total Accepted: 18.8K
# Total Submissions: 65K
# Testcase Example: '"Hello World"'
#
# 给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。
#
# 如果不存在最后一个单词,请返回 0 。
#
# 说明:一个单词是指由字母组成,但不包含任何空格的字符串。
#
# 示例:
#
# 输入: "Hello World"
# 输出: 5
#
#
#
class Solution:
def lengthOfLastWord(self, s: str) -> int:
a = s.split(' ')
a.reverse()
for ss in a:
if ss!='':
return len(ss)
return 0
python相对来说就很灵活了,先用split,按空格分开,形成一个数组,然后还是逆序(直接用reverse了) 然后在里面找到第一个不等于空格的就返回就可以了。
Leecode刷题之旅-C语言/python-58.最后一个单词的长度的更多相关文章
- Leecode刷题之旅-C语言/python-434 字符串中的单词数
/* * @lc app=leetcode.cn id=434 lang=c * * [434] 字符串中的单词数 * * https://leetcode-cn.com/problems/numbe ...
- Leecode刷题之旅-C语言/python-344反转字符串
/* * @lc app=leetcode.cn id=344 lang=c * * [344] 反转字符串 * * https://leetcode-cn.com/problems/reverse- ...
- Leecode刷题之旅-C语言/python-1.两数之和
开学后忙的焦头烂额(懒得很),正式开始刷leecode的题目了. 想了想c语言是最最基础的语言,虽然有很多其他语言很简单,有更多的函数可以用,但c语言能煅炼下自己的思考能力.python则是最流行的语 ...
- Leecode刷题之旅-C语言/python-387 字符串中的第一个唯一字符
/* * @lc app=leetcode.cn id=387 lang=c * * [387] 字符串中的第一个唯一字符 * * https://leetcode-cn.com/problems/f ...
- Leecode刷题之旅-C语言/python-28.实现strstr()
/* * @lc app=leetcode.cn id=28 lang=c * * [28] 实现strStr() * * https://leetcode-cn.com/problems/imple ...
- Leecode刷题之旅-C语言/python-7.整数反转
/* * @lc app=leetcode.cn id=7 lang=c * * [7] 整数反转 * * https://leetcode-cn.com/problems/reverse-integ ...
- Leecode刷题之旅-C语言/python-326 3的幂
/* * @lc app=leetcode.cn id=326 lang=c * * [326] 3的幂 * * https://leetcode-cn.com/problems/power-of-t ...
- Leecode刷题之旅-C语言/python-263丑数
/* * @lc app=leetcode.cn id=263 lang=c * * [263] 丑数 * * https://leetcode-cn.com/problems/ugly-number ...
- Leecode刷题之旅-C语言/python-383赎金信
/* * @lc app=leetcode.cn id=383 lang=c * * [383] 赎金信 * * https://leetcode-cn.com/problems/ransom-not ...
随机推荐
- SQL 创建自定义方法,匹配正则
C#代码 using System.Text.RegularExpressions; public class FunctionRegex { [Microsoft.SqlServer.Server. ...
- DevExpress控件水印文字提示 z
ButtonEdit.Properties.NullValuePrompt = "提示"; ButtonEdit.Properties.NullValuePromptShowFor ...
- 如何用ABAP代码读取CDS view association的数据
我有如下一个CDS view, 这个view的数据来自CRMD_ORDERADM_H, 定义了一个名称为_statushelp的association, 指向了另一个CDS view Z_C_Stat ...
- 【LOJ6060】「2017 山东一轮集训 Day1 / SDWC2018 Day1」Set(线性基)
点此看题面 大致题意: 让你把\(n\)个数分成两部分,使得在两部分异或和之和最大的前提下,两个异或和中较小的那个尽量小.输出最优的较小异或和. 线性基 关于线性基,可以看一下这篇博客:线性基入门. ...
- 【洛谷1494】[国家集训队] 小Z的袜子(莫队)
点此看题面 大致题意: 有\(N\)只从\(1\sim N\)编号的袜子,告诉你每只袜子的颜色,\(M\)组询问,每组询问给你一个区间\([L\sim R]\),让你求出小Z随机抽出\(2\)只袜子时 ...
- PowerShell实现英汉互译_并保存
代码如下:(介于着色 代码在文末下载) 功能简介: 自动识别英汉输入 返回结果 对于词数小于20的会保存在当前目录下temp_table.txt词文件 大于20的会被识别为句子进行互译 不会存于词文件 ...
- 2018.11.7 关于将Web项目部署到阿里云服务器-5个步骤搞定
将Eclipse导出的War包部署到阿里云服务器上,提供给移动端实时的访问 1. 先登录阿里云网站注册账号,选择服务器类型(我用的是 云服务器ECS), 如果你还是在读大学生可享受优惠价,最低好像是9 ...
- highcharts(前端报表生成)
前端报表技术:使用 JavaScript 生成漂亮图表 百度 echarts: http://echarts.baidu.com/examples.html Funsioncharts : http: ...
- js 注册控件的onclick事件
今天做了一个全选功能:1.点击全选,全部选中.选中状态再点击全选,全部取消选中2.点击成员,判断是否成员全部选中,true:全选为选中状态,false:全选为未选中状态. 使用js是比较麻烦的就是如何 ...
- 【luogu P3388 割点(割顶)】 模板
题目链接:https://www.luogu.org/problemnew/show/P3388 #include <cstdio> #include <cstring> #i ...