老师,我在做题中遇到了这样一道题,要求输入索引x,返回倒数第x个位置的元素,这里我想是需要用反转链表的方式来做然后在将节点的值添加到ArrayList中通过下标返回。
我看了之前视频讲解中反转链表的代码,那里是将cur设置为ListNode类型,可是这道题只能传入索引,在这里应该怎么为cur进行赋值,反转完成后怎么将引用赋值给LinkedList啊
这是我写的,运行不了,不知道怎么才能将元素添加到ArrayList,说说思路呗
public int printListNodeValue(int index){
LinkedList<ListNode> linkedList = new LinkedList<>();
for (int i = 1; i < 8; i++) {
linkedList.add(new ListNode(i));
}
ListNode pre = null;
ListNode cur = linkedList.getFirst();
ArrayList<Integer> arrayList = new ArrayList<>();
while (cur != null){
ListNode next = cur.next;
cur.next = pre;
pre = cur;
cur = next;
arrayList.add(linkedList.removeFirst().val);
}
return arrayList.get(index-1);
}
登录后可查看更多问答,登录/注册