您好,欢迎来到花图问答。
搜索
您的当前位置:首页696. Count Binary Substrings

696. Count Binary Substrings

来源:花图问答
  1. 首先找到0,1交界的地方,存起来;
  2. 然后在交界地方比较,左边和左边相等,右边和右边相等;
    int countBinarySubstrings(string s) {
        int n = s.length();
        deque<int> d;
        int sum=0;
        for(int i=1;i<n;i++){
            if(s[i-1] != s[i])
                d.push_back(i);
            
        }
        while(!d.empty()){
            int cur = d.front();
            d.pop_front();
            int left = cur-1;
            sum++;
          //  cout<<"cur:"<<cur<<" sum: "<<sum<<endl;
            while(left>0 && cur<n-1){ 
                if(s[left] == s[left-1]  && s[cur] == s[cur+1])
                    sum++;
                else
                    break;

                cur++;
                left--;
               // cout<<"cur:"<<cur<<" sum:"<<sum<<endl;

            }
            //cout<<"=========="<<endl;
        }
      
        return sum;     
        
    }

Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务