首先保证网段是有序的。
原理:相同掩码位数的网段才能聚合。从一个网段开始,向下逐个判断,是否能够聚合。判断依据应包括当前已经能够聚合的网段数量。
JAVA:
if(a1 == a2) {
if(b1 == b2) {
if(((c1 ^ c2) == 1 || (count >= (c1 ^ c2)/2 + 1 && (isPow2((c1 ^ c2) + 1)) != -1))
&& c1 + 1 == c2) {
return true;
}
} else {
if(b2 - b1 == 1 && c1 =&