解题思路:
将两个字符串转化为u8数组,比较两者长度后先按较短者长度加和,若较长者中还有剩余数组,再进行加和判断,最后判断进位re是否还为1
将加和结果存储在v_3数组中,最后倒序输出数组即可。

use std::{io, cmp::Ordering};

fn main() {
    let mut s = String::new();
    io::stdin().read_line(&mut s).expect("Failed To Read Line !");
    let mut a = vec![];
    for &i in s.trim().as_bytes() {
        a.push(i - 48);
    }
    s.clear();
    io::stdin().read_line(&mut s).expect("Failed To Read Line !");
    let mut b = vec![];
    for &i in s.trim().as_bytes() {
        b.push(i - 48);
    }
    let (v_1,v_2) = match (a.len()).cmp(&(b.len())) {
        Ordering::Equal | Ordering::Greater => (a,b),
        Ordering::Less => (b,a),
    };
    let mut v_3 = vec![];
    let (mut i,mut j,mut re) = (v_1.len(),v_2.len(),0u8);
    while j > 0 {
        let add = v_1[i-1] + v_2[j-1] + re;
        match add {
            0..= 9 => {
                v_3.push(add);
                re = 0;
            }
            _ => {
                v_3.push(add - 10);
                re = 1;
            }
        }
        j -= 1;
        i -= 1;
    }
    while i > 0 {
        let add = v_1[i-1] + re;
        match add {
            0..= 9 => {
                v_3.push(add);
                re = 0;
            }
            _ => {
                v_3.push(add - 10);
                re = 1;
            }
        }
        i -= 1;
    }
    if re > 0 {
        v_3.push(re);
    }
    for k in v_3.iter().rev() {
        print!("{}",k);
    }
}