408. Valid Word Abbreviation

2022/2/4 6:12:29

本文主要是介绍408. Valid Word Abbreviation,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

This is two points problem, just concentrate and carefully deal with the characters, then the problem can be solved.

This is a very good problem for writing all kinds of edge test cases.

    public boolean validWordAbbreviation(String word, String abbr) {
        int m = word.length(), n = abbr.length();
        int i = 0, j = 0;
        while (i < m && j < n) {
            if (word.charAt(i) == abbr.charAt(j)) {
                i++;
                j++;
            } else {
                if (!Character.isDigit(abbr.charAt(j)) || abbr.charAt(j) == '0')
                    return false;
                else {
                    int start = j;
                    while (j < n && Character.isDigit(abbr.charAt(j))) {  //be careful, need ot add a j < n, otherwise, eg. abbr="a1" will fail
                        j++;
                    }
                    int len = Integer.valueOf(abbr.substring(start, j));
                    i += len;
                }
            }
        }
        return i == m && j == n;  //if simply return true, eg. word = "a", abbr="2" will fail
    }

 



这篇关于408. Valid Word Abbreviation的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程