class Solution(object):
# def validWordAbbreviation(self, word, abbr):
# """
# :type word: str
# :type abbr: str
# :rtype: bool
# """
# if word == abbr:
# return True
# pos1 = pos2 = 0
# curr = 0
# while pos1 < len(abbr) and pos2 < len(word):
# try:
# num = int(abbr[pos1])
# # start with 0
# if num == 0 and curr == 0:
# return False
# curr = curr * 10 + num
# except ValueError:
# if curr > 0:
# pos2 += curr
# # when number exceeds the end of word
# if pos2 >= len(word):
# return False
# curr = 0
# if abbr[pos1] != word[pos2]:
# return False
# pos2 += 1
# pos1 += 1
# # abbr ends with number
# if curr > 0:
# pos2 += curr
# if pos1 == len(abbr) and pos2 == len(word):
# return True
# return False
def validWordAbbreviation(self, word, abbr):
pos = curr = 0
for i in range(len(abbr)):
try:
num = int(abbr[i])
if num == 0 and curr == 0:
return False
curr = curr * 10 + num
except ValueError:
pos += curr
curr = 0
if pos >= len(word):
return False
if word[pos] != abbr[i]:
return False
pos += 1
pos += curr
if pos == len(word):
return True
return False
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
python_leetcode面试题解之第408题有效单词缩写.zip (1个子文件)
python_leetcode面试题解之第408题有效单词缩写
408_Valid_Word_Abbreviation.py 2KB
共 1 条
- 1
资源评论
m0_57195758
- 粉丝: 2992
- 资源: 802
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功