题解 | #输出单向链表中倒数第k个结点#
输出单向链表中倒数第k个结点
http://www.nowcoder.com/practice/54404a78aec1435a81150f15f899417d
我想的比较简单,不想思考指针问题,就是不知道是不是人家想要的了。
用ArrayList录入,然后找倒数k位也就是输出链表总长度-k位的那个值。又要求忘记长度,那么就重新遍历一次链表记录长度,再遍历一次找到链表倒数k位输出就行。
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int num = sc.nextInt();
List<Integer> l = new ArrayList<>();
for(int i = 0 ; i<num ; i++){
int tip = sc.nextInt();
l.add(tip);
}
int k = sc.nextInt();
//由于忘记了链表长度,所以从新计算链表长度即可。
int len = 0;
for(int i : l){
len++;
}
System.out.println(l.get(len-k));
}
}