public static <T> List<T> lcs(List<T> arg0, List<T> arg1, Comparator<T> comparator) {
        if (arg0 == null || arg1 == null) {
            return Collections.emptyList();
        }
        return lcs(arg0, arg1, comparator, 0, 0);
    }
public static < T > List < T > lcs ( List < T > arg0 , List < T > arg1 , Comparator < T > comparator ) { if ( arg0 == null || arg1 == null ) { return Collections . emptyList ( ) ; } return lcs ( arg0 , arg1 , comparator , 0 , 0 ) ; }
求最长公共子序列（有可能有多种解，该方法只返回其中一种）

@param arg0       第一个序列
@param arg1       第二个序列
@param comparator 比较器
@param <T>        数组中数据的实际类型
@return 两个序列的公共子序列（返回的是原队列中的倒序） （集合{1 ， 2 ， 3 ， 4}和集合{2 ， 3 ， 4 ，
1}的公共子序列返回值为{4 ， 3 ， 2}）