151. 反转字符串中的单词

This commit is contained in:
2026-08-14 19:31:41 +08:00
parent f6368f1307
commit a813a0b1d6
+3 -43
View File
@@ -3,50 +3,10 @@ mod tree;
struct Solution {}
impl Solution {
pub fn my_atoi(s: String) -> i32 {
let mut ans = 0_i64;
let mut neg = false;
let s = s.chars().collect::<Vec<_>>();
let mut start = 0;
for i in 0..s.len() {
if s[i] == ' ' {
start = i + 1;
continue;
}
start = i + if s[i] == '+' || s[i] == '-' {
if s[i] == '-' {
neg = true
}
1
} else {
0
};
break;
}
for i in start..s.len() {
if s[i] == '0' {
start = i + 1;
continue;
}
break;
}
for i in start..s.len() {
let c = s[i];
if c.is_ascii_digit() {
ans = ans * 10 + if neg { -1 } else { 1 } * (c as u8 - '0' as u8) as i64;
if ans > i32::MAX as i64 {
return i32::MAX;
}
if ans < i32::MIN as i64 {
return i32::MIN;
}
continue;
}
break;
}
ans as i32
pub fn reverse_words(s: String) -> String {
s.split(' ').filter(|s| !s.is_empty()).rev().collect::<Vec<_>>().join(" ")
}
}
fn main() {
println!("{:?}", Solution::my_atoi("1337c0d3".to_string()));
println!("{:?}", Solution::reverse_words("a good example".to_string()));
}