LeetCode – 408. Valid Word Abbreviation

Given a non-empty string s and an abbreviation abbr, return whether the string matches with the given abbreviation.

A string such as 'word' contains only the following valid abbreviations:

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

Notice that only the above abbreviations are valid abbreviations of the string 'word'. Any other string is not a valid abbreviation of 'word'.

Note:
Assume s contains only lowercase letters and abbr contains only lowercase letters and digits.

Example 1:

Given  s  = 'internationalization',  abbr  = 'i12iz4n': Return true.  

Example 2:

Given  s  = 'apple',  abbr  = 'a2e': Return false.  
It looks easy, but this question has a lot of pitfalls, and the test cases are poorly designed.

public class Solution { public boolean validWordAbbreviation(String word, String abbr) { int pos = 0; int i = 0; int num = 0; while(i= word.length()){ return false; } if(abbr.charAt(i) != word.charAt(pos)){ return false; } pos++; i++; } } return pos == word.length(); } }

This siteOriginal articleAll follow "Attribution-NonCommercial-ShareAlike 4.0 License (CC BY-NC-SA 4.0)Please retain the following annotations when sharing or adapting:

Original author:Jake Tao,source:「LeetCode – 408. Valid Word Abbreviation」

133
0 0 133

Further Reading

Post a reply

Log inYou can only comment after that.
Share this page
Back to top