题目:
https://leetcode-cn.com/problems/length-of-last-word/
给定一个仅包含大小写字母和空格 ' '
的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
示例:
示例:
输入: "Hello World"
输出: 5
说明:
一个单词是指由字母组成,但不包含任何空格的字符串。
分析:
这道题有很多方法,首先用最容易理解的办法
1 检查最后一个字符是不是空格,是的话,删掉它
n = len(s)
while n-1 >=0:
if s[n-1]==0:
n-=1
else :
break
这样可以保证最后一个单词后面没有空格。
2 如果字符串长度为0 那么返回0
if n == 0:
return 0
之后设置一个p作为一个指针,指向空格后面的那个字符,遍历一遍字符串,让他指向最后一个单词的首字母,之后用字符串总长度减去p就是最后一个单词的长度。
for j in range(n)
if s[j] == " ":
p =j+1
return n-p
代码:
class Solution:
def removeElement(self, nums: List[int], val: int) -> int:
l=len(nums)
if l ==0 :
return 0
else:
i=0
while i <l:
if nums[i] == val:
nums.pop(i)
l-=1
else:
i+=1
return len(nums)