如何做查询网站,北京数字智慧展厅设计装修服务商,南山网站设计公司,百度宣传做网站多少钱有效单词缩写
字符串可以用 缩写 进行表示#xff0c;缩写 的方法是将任意数量的 不相邻 的子字符串替换为相应子串的长度。例如#xff0c;字符串 “substitution” 可以缩写为#xff08;不止这几种方法#xff09;#xff1a;
“s10n” (“s ubstitutio n”) “sub4…有效单词缩写
字符串可以用 缩写 进行表示缩写 的方法是将任意数量的 不相邻 的子字符串替换为相应子串的长度。例如字符串 “substitution” 可以缩写为不止这几种方法
“s10n” (“s ubstitutio n”) “sub4u4” (“sub stit u tion”) “12” (“substitution”) “su3i1u2on” (“su bst i t u ti on”) “substitution” (没有替换子字符串)
下列是不合法的缩写
“s55n” (“s ubsti tutio n”两处缩写相邻) “s010n” (缩写存在前导零) “s0ubstitution” (缩写是一个空字符串) 给你一个字符串单词 word 和一个缩写 abbr 判断这个缩写是否可以是给定单词的缩写。
子字符串是字符串中连续的非空字符序列。
class Solution {
public:bool validWordAbbreviation(string word, string abbr) {int abbrsize abbr.size(),wordsizeword.size();//游标记录当前判断的位置int abbrLen0; //num记录字母间的数字大小int num0; for (int i 0; i abbrsize; i){if (abbr[i]a abbr[i]z){abbrLennum1; //数字加字母的长度num0;//越界或者单词对应位置不相同直接返回falseif (abbrLenwordsize || abbr[i]!word[abbrLen-1]) return false;}else{ //遇到了前导0当前缩写位置上的字符为0并且num0if (!num abbr[i]0) return false;numnum*10abbr[i]-0; //连续遇到两个数字要拼接起来}}return abbrLennumwordsize;}
};