【Leetcode】408. Valid Word Abbreviation

題目地址:

https://leetcode.com/problems/valid-word-abbreviation/

參考https://blog.csdn.net/qq_46105170/article/details/106309686。代碼如下:

public class Solution {
    public boolean validWordAbbreviation(String word, String abbr) {
        int i = 0, j = 0;
        while (i < word.length() && j < abbr.length()) {
            if (word.charAt(i) == abbr.charAt(j)) {
                i++;
                j++;
            } else {
                if (Character.isLetter(abbr.charAt(j))) {
                    return false;
                }
                
                if (abbr.charAt(j) == '0') {
                    return false;
                }
                
                int k = j;
                while (k < abbr.length() && Character.isDigit(abbr.charAt(k))) {
                    k++;
                }
                
                int skip = Integer.parseInt(abbr.substring(j, k));
                j = k;
                i += skip;
            }
        }
        
        return i == word.length() && j == abbr.length();
    }
}

時間複雜度O(m+n)O(m+n),空間O(1)O(1)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章