子序列(All in All, UVa 10340)rust解法

输入两个字符串s和t,判断是否可以从t中删除0个或多个字符(其他字符顺序不变),得到字符串s。例如,abcde可以得到bce,但无法得到dc。

解法

use std::io;

fn main(){
    let mut buf = String::new();
    io::stdin().read_line(&mut buf).unwrap();
    let s = buf.trim().to_string();
    let mut buf = String::new();
    io::stdin().read_line(&mut buf).unwrap();
    let mut t = buf.trim().to_string();
    //println!("{} {}", s, t);
    for c in s.chars(){
        if let Some(idx) = t.find(c){
            t.drain(0..idx+1);
        }else {
            println!("not find");
            return;
        }
    }
    println!("find");
}

你可能感兴趣的:(rust题解,rust,开发语言,后端)