zoukankan      html  css  js  c++  java
  • 637. 检查缩写字

    637. 检查缩写字

    中文English

    给定一个非空字符串 word 和缩写 abbr,返回字符串是否可以和给定的缩写匹配。
    比如一个 “word” 的字符串仅包含以下有效缩写:

    ["word", "1ord", "w1rd", "wo1d", "wor1", "2rd", "w2d", "wo2", "1o1d", "1or1", "w1r1", "1o2", "2r1", "3d", "w3", "4"]
    

    样例

    样例 1:

    输入 : s = "internationalization", abbr = "i12iz4n"
    输出 : true
    

    样例 2:

    输入 : s = "apple", abbr = "a2e"
    输出 : false
    

    注意事项

    注意只有以上缩写是字符串 word 合法的缩写。任何其他关于 word 的缩写都是不合法的。

    输入测试数据 (每行一个参数)如何理解测试数据?
    同向型双指针  + 单指针 
    class Solution:
        """
        @param word: a non-empty string
        @param abbr: an abbreviation
        @return: true if string matches with the given abbr or false
        """
        def validWordAbbreviation(self, word, abbr):
            # write your code here
            #两根指针,一个指针走word,一个指针走abbr,最后判断是否相等即可
            left, right = 0, 0 
            len1, len2 = len(word), len(abbr)
            
            while left < len1 and right < len2:
                #当两者相等的话,相继加1
                if word[left] == abbr[right]:
                    left += 1 
                    right += 1 
                #如果abbr[right]为数字,不为0,为0直接False
                elif abbr[right].isdigit() == True  and abbr[right] != '0':
                    start = right
                    while right < len2 and abbr[right].isdigit() == True:
                        right += 1 
                    
                    #最后跳出循环,此时为完整的数字,abbr[start: right]
                    left += int(abbr[start: right])
                
                #当两者word[left] != abbr[right] or abbr[right] == '0'的话,返回False
                else:
                    return False 
            
            #最后只需要判断两者长度是否相等
            return left == len1 and right == len2 
                         
  • 相关阅读:
    项目功能规格说明书
    团队工作准则&贡献分配规则
    Scrum Meeting Alpha
    用户需求与NABCD分析
    团队项目选题-博客园移动客户端
    团队作业Week3
    爱情小故事
    高手遇事的处理方法,学会你也是高手
    富人思维--目标导向
    有一种失败叫瞎忙
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/13211133.html
Copyright © 2011-2022 走看看