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 ...
随机推荐
- 功能强大的系统配置工具-- Siebel Tools
Siebel Tools 是Siebel 为其CRM产品开发人员专门提供的系统配置工具,系统的客户化修改以及系统升级控制等都是通过该工具进行配置(Configuration) .该工具直接修改Sieb ...
- [转]JetBrains IntelliJ IDEA 13 Keygen (Java Source Code)
转载:http://www.rover12421.com/2013/12/09/jetbrains-intellij-idea-13-keygen-java-source-code.html JetB ...
- linux命令之添加删除磁盘分区
之前已经写过df和fdisk的区别了,df可以显示当前已经挂载的磁盘分区,df -T可以额外显示文件系统类型 fdisk -l可以显示出所有挂载未挂载的分区,但不显示文件类型 在我的虚拟机上有一块分配 ...
- python图片黑白化
#!/usr/bin/env python #-*- coding:utf-8 -*- from PIL import Image im = Image.open(r"C:\Users\wa ...
- 如何从GitHub获取源代码
如何从GitHub获取源代码 github是当前流行的开源项目托管网站,里面有成千上万的项目值得学习和借鉴,可以把项目源代码下载到本地研究.本文介绍如何获取github的源代码. 方法1 - 克隆(C ...
- @WebListener 注解方式实现监听(eclipse和idea)
eclipse进行演示: 1.创建 Dynamic Web Project ,Dynamic Web module version选择3.0 2.在自动生成 的web.xml配置,增加 metadat ...
- js邮箱验证,身份证验证,正则表达式
邮箱验证: html部分: 邮箱验证:<input type="text" id="mail" value="" / onkeyup= ...
- Java基础随笔
1.一些简单的dos命令: – d: 回车 盘符切换 – dir(directory):列出当前目录下的文件以及文件夹 – del:删除文件 – ...
- Java基础——数据结构总结
目的 : 加强类与对象的内存分配理解,加强操作能力.理解数据结构. 结构 : 数据元素之间的关系. 数据结构 : 带有结构的数据对象. 线性结构: 各数据元素之间的逻辑以用一个线性序列简单的表达出现. ...
- 设置Oracle数据库开机自启动
1.oracle 用户下 修改$ORACLE_HOME/bin/dbstart vim /home/oracle/database/product/12c/db_1/bin/dbstart 将OR ...