看到好多使用list的add方法放到第一位,这个方法看似简单,但是你看add的源码了吗
你放到第一位,他要将第一位之后的数据,依次往后移动一位,你这样做,真的想清楚了吗?
ArrayList<Integer> arrayList = new ArrayList<>();
arrayList.add(listNode.val);
while (listNode.next != null) {
listNode = listNode.next;
arrayList.add(listNode.val);
}
int l = 0, r = arrayList.size() - 1, m = (r + l) / 2;
while (l <= m) {
int a = arrayList.get(l);
arrayList.set(l, arrayList.get(r));
arrayList.set(r, a);
l++;
r--;
}
return arrayList;
京公网安备 11010502036488号