public void rmLittlePath() {
		int maxTo = -1;
		Term temp = null;
		Term maxTerm = null;
		// 是否有交叉
		boolean flag = false;
		final int length = terms.length - 1;
		for (int i = 0; i < length; i++) {
			maxTerm = getMaxTerm(i);
			if (maxTerm == null) {
				continue;
			}

			maxTo = maxTerm.toValue();

			/**
			 * 对字数进行优化.如果一个字.就跳过..两个字.且第二个为null则.也跳过.从第二个后开始
			 */
			switch (maxTerm.getName().length()) {
				case 1:
					continue;
				case 2:
					if (terms[i + 1] == null) {
						i = i + 1;
						continue;
					}
			}

			/**
			 * 判断是否有交叉
			 */
			for (int j = i + 1; j < maxTo; j++) {
				temp = getMaxTerm(j);
				if (temp == null) {
					continue;
				}
				if (maxTo < temp.toValue()) {
					maxTo = temp.toValue();
					flag = true;
				}
			}

			if (flag) {
				i = maxTo - 1;
				flag = false;
			} else {
				maxTerm.setNext(null);
				terms[i] = maxTerm;
				for (int j = i + 1; j < maxTo; j++) {
					terms[j] = null;
				}
			}
		}
	}
public void rmLittlePath ( ) { int maxTo = - 1 ; Term temp = null ; Term maxTerm = null ; boolean flag = false ; final int length = terms . length - 1 ; for ( int i = 0 ; i < length ; i ++ ) { maxTerm = getMaxTerm ( i ) ; if ( maxTerm == null ) { continue ; } maxTo = maxTerm . toValue ( ) ; switch ( maxTerm . getName ( ) . length ( ) ) { case 1 : continue ; case 2 : if ( terms [ i + 1 ] == null ) { i = i + 1 ; continue ; } } for ( int j = i + 1 ; j < maxTo ; j ++ ) { temp = getMaxTerm ( j ) ; if ( temp == null ) { continue ; } if ( maxTo < temp . toValue ( ) ) { maxTo = temp . toValue ( ) ; flag = true ; } } if ( flag ) { i = maxTo - 1 ; flag = false ; } else { maxTerm . setNext ( null ) ; terms [ i ] = maxTerm ; for ( int j = i + 1 ; j < maxTo ; j ++ ) { terms [ j ] = null ; } } } }
删除最短的节点