很简单的一题,写完后有个bug改了半天,最后发现是越界了。。。额额,有点想java了
class Solution {
public:
string sortString(string s) {
int len = s.size();
string res = "";
sort(s.begin(), s.end());
vector<bool>vis(len ,false);
while(res.size() < len)
{
for(int i = 0; i < len; i++)
{
if(vis[i] == false)
{
res += s[i];
vis[i] = true;
break;
}
}
for(int i = 0; i < len; i++)
{
if(vis[i] == false && s[i] > res.back())
{
res += s[i];
vis[i] = true;
}
}
for(int i = len-1; i > 0; i--)
{
if(vis[i] == false)
{
res += s[i];
vis[i] = true;
break;
}
}
for(int i = len-1; i > 0; i--)
{
if(vis[i] == false && s[i] < res.back())
{
res += s[i];
vis[i] = true;
}
}
}
return res;
}
};