@SomeBottleLeetcode每日一题 —— 761. 特殊的二进制字符串 中发帖

力扣新年保护期结束 😭,今天是一道困难,感觉思维上还有些难度,主要考察分治排序。 
思路
题目看上去有些唬人,仔细理一下可以发现这种特殊二进制串:

肯定以 1 开始,也以 0 结束。
去掉了首尾的 1 和 0,剩下的部分仍然是特殊串。
如果一个特殊串中有多个特殊串,那么他们必然是连续串联在一起的。

因为题目给定的 s 自身就是个特殊串,就可以按照上面这些性质进行分治处理。
每一层中先扫描当前处理的子串,提取出其中的特殊串,拆掉首尾的 1 和 0 再交给下层处理;然后把处理后的这些特殊串拼上拆掉的 1 和 0,放入数组,进行排序、拼接后再返回给上层。
代码
class Solution {
public:
string makeLargestSpecial(string s) {
// 首先特殊子串肯定以 1 开始,因为前缀 1 的数量要 > 0 的数量...