想问一下这个为什么不能直接return Collections.reverse(res);而要先Collections.reverse(res);再return res;

// 省略
return Collections.reverse(res);

// 报错error: incompatible types: void cannot be converted to List<List<Integer>> 
//    return Collections.reverse(res);
// 省略
Collections.reverse(res);
return res;

// 成功

Collections.reverse()这个方法的返回值为void,而你直接return Collections.reverse(res)也就等价于return void,自然会报错。
但是由于这个方法是直接影响实参的,也就是直接操作于变量自身,执行Collections.reverse(res)之后,res就是调用方法后的结果,直接return res即可
如果对你有帮助,望采纳

因为你的方法要返回的是res对应的list集合,而不是空值,而Collections.reverse()方法的返回值为void

此方法是对传入的List进行操作,而不是将操作后的对象直接返回的