Valid Word Abbreviation

给一个abbr和一个word, 问abbr是不是word的缩写. 这个题太傻逼了, 各种corner cases. 而且还有’01’ ‘a’ 这种带leading 0的.

class Solution {
    public boolean validWordAbbreviation(String word, String abbr) {
        if(abbr.length() > word.length())
            return false;
        int cur = 0;
        for(int i = 0; i < abbr.length();) {
            if(abbr.charAt(i) >= 'a' && abbr.charAt(i) <='z') {
                if(cur < word.length() && abbr.charAt(i) != word.charAt(cur))
                    return false;
                else{ 
                    cur++;
                    i++;
                }
            }else if(abbr.charAt(i) > '0' && abbr.charAt(i) <= '9') {
                int right = i;
                while(right < abbr.length() && abbr.charAt(right) >= '0' && abbr.charAt(right) <= '9'){
                    right++;
                }
                cur += Integer.valueOf(abbr.substring(i, right));
                i = right;
            }else
                return false;
        }
        return cur == word.length();
    }
}