跳到主要内容

1417.重新格式化字符串

链接:1417.重新格式化字符串
难度:Easy
标签:字符串
简介:请你返回 重新格式化后 的字符串;如果无法按要求重新格式化,则返回一个 空字符串 。

题解 1 - rust

  • 编辑时间:2022-08-11
  • 执行用时:4ms
  • 内存消耗:2.1MB
  • 编程语言:rust
  • 解法介绍:重新排列。
impl Solution {
pub fn reformat(s: String) -> String {
let (mut list_num, mut list_char) = (Vec::new(), Vec::new());
for c in s.chars().collect::<Vec<char>>() {
if c.is_numeric() {
list_num.push(c);
} else {
list_char.push(c);
}
}
let mut ans = String::new();
if (list_num.len() as i32 - list_char.len() as i32).abs() > 1 {
return ans;
}
let (mut list1, mut list2) = if list_num.len() > list_char.len() {
(list_num.into_iter(), list_char.into_iter())
} else {
(list_char.into_iter(), list_num.into_iter())
};
loop {
let mut c;
c = list1.next();
if c.is_none() {
break;
};
ans.push(c.unwrap());
c = list2.next();
if c.is_none() {
break;
};
ans.push(c.unwrap());
}
ans
}
}