1impl Solution {2pub fn reverse(x: i32) -> i32 {3let mut x = x;4let mut ret: i32 = 0;5while x != 0 {6let d: i32 = x % 10;7x = x / 10;8match ret.checked_mul(10).and_then(|val| val.checked_add(d)) {9Some(val) => ret = val,10None => return 0,11}12}13ret14}15}