Leetcode - Valid Word Abbreviation

My code:

public class Solution {
    public boolean validWordAbbreviation(String word, String abbr) {
        int wi = 0;
        int ai = 0;
        int cnt = 0;
        while (ai < abbr.length()) {
            while (ai < abbr.length() && Character.isDigit(abbr.charAt(ai))) {
                if (cnt == 0 && abbr.charAt(ai) == '0') {
                    return false;
                }
                cnt = 10 * cnt + abbr.charAt(ai) - '0';
                ai++;
            }
            wi += cnt;
            cnt = 0;
            if (ai < abbr.length()) {
                if (wi >= word.length()) {
                    return false;
                }
                else if (word.charAt(wi) != abbr.charAt(ai)) {
                    return false;
                }
                else {
                    wi++;
                    ai++;
                }
            }
        }
        
        return wi == word.length();
    }
}

reference:
https://discuss.leetcode.com/topic/61435/simplest-java-solution-so-far

没做出来。
差点做出来。卡在了一个问题上。 可能会出现 015 这样的数字,这是错的。

Anyway, Good luck, Richardo! -- 10/21/2016

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • My code: 这道题目我没有做出来。应该说,我做出来了,但是超时了。我也想到了用dp,但是用的是二维数组。后来...
    Richardo92阅读 3,456评论 0 0
  • 这道题目并没能做出来。感觉最近睡眠比较少,所以有些问题晚上根本想不清楚,尤其图这种需要许多空间思考的。这道题目很重...
    Richardo92阅读 3,952评论 0 0
  • My code: My test result: 这道题目最简单的做法,就是直接随便遍历。但肯定是不对的,太慢了。...
    Richardo92阅读 4,666评论 0 1
  • **Question: Given a string s and a dictionary of words di...
    Richardo92阅读 3,836评论 0 1
  • 今天一天的想法,想说的,想描述的心情,都被现在的想儿子给覆盖了
    是军儿呀阅读 1,729评论 2 2

友情链接更多精彩内容