思路: 遍历识别单个字符后存入 ss ,遇上非英文字母字符时就 push 入 v,反转后输出。

use std::io::{self, *};

fn main() {
    let stdin = io::stdin();
    for line in stdin.lock().lines() {
        let ll = line.unwrap();
        let s = Vec::from(ll);
        let mut v: Vec<String> = vec![];
        let mut ss = String::new();
        let mut i = 0;
        while i < s.len() {
            if s[i] >= 65 && s[i] <= 90 || s[i] >= 97 && s[i] <= 122 {
                ss.push(char::from(s[i]));
            } else if !ss.is_empty() {
                v.push(ss);
                ss = String::new();
            }
            i += 1;
        }
        v.push(ss);
        v.reverse();
        for i in v {
            print!("{} ",i);
        }
    }
}