方法一:直接数组,假装是链表:

alt

use std::io::{self, *};
fn main() {
    let stdin = io::stdin();
    let mut is_first = 0;
    let mut v = String::new();
    for line in stdin.lock().lines() {
        let ll = line.unwrap();
        if is_first == 0 {
            is_first += 1;
        } else if is_first == 1 {
            v = ll;
            is_first += 1;
        } else if is_first == 2 {
            let k = ll.trim().parse::<usize>().unwrap_or(1);
            let v_link = v.trim().split(" ").collect::<Vec<&str>>();
            if k <= v_link.len() {
                println!("{}",v_link[v_link.len()-k]);
            }
            is_first = 0;
        }
        if is_first == 0 {
            v.clear();
        }
    }
}

方法二:VecDeque(双端队列)

待补全。。。