枚举所有的连续的数字,并处理前导零后放入set中,同时也能够完成去重,最后返回set的大小即可。
- class Solution {
- public:
- int numDifferentIntegers(string word) {
- unordered_set
st; - int l=-1,r=0,n=word.size();
- while(r
- if(isdigit(word[r])){
- l=r;
- while(r
-1&&isdigit(word[r+1])) r++; - while(word[l]=='0') l++;
- st.insert(word.substr(l,r-l+1));
- }
- r++;
- }
- return st.size();
- }
- };
时间复杂度:O(n),n为字符串长度
空间复杂度:O(n)