不是去判断一个表示是否最小,而是把每个最小做出来。每出现一个最小表示,就做一次置换操作就可以了: 开头为m=000...01的串都可以表示成: m+k,这里m+表示1个或者多个m串,而k是最长0不超过m-1的,1结尾的串。所以一个loop对m的个数循环就可以了。 每次出现一个最小表示,都callback置换程序一次,不需要把这个表示存下来。