其他分享
首页 > 其他分享> > leetcode767. 重构字符串

leetcode767. 重构字符串

作者:互联网

 

 


 

记录上一个写入的字母,找除了这个字母以外的出现次数最多的字母插入。

class Solution {
public:
    string reorganizeString(string S) {
        int alp[26];
        int i;
        for(i=0;i<26;i++){
            alp[i]=0;
        }
        for(i=0;i<S.length();i++){
            alp[S[i]-'a']++;
        }
        string ans="";
        int maxx,tmp=-1,maxpos;
        while(ans.length()<S.length()){
            maxx=0;
            maxpos=-1;
            for(i=0;i<26;i++){
                if(alp[i]>maxx&&i!=tmp){
                    maxx=alp[i];
                    maxpos=i;
                }
            }
            if(maxpos==-1) return "";
            ans+=(char)('a'+maxpos);
            alp[maxpos]--;
            tmp=maxpos;
        }
        return ans;
    }
};

  

 

标签:tmp,重构,int,字母,leetcode767,ans,字符串,maxpos,alp
来源: https://www.cnblogs.com/hyffff/p/14062054.html