blob: f293b6d1c0bfe0677ddc148c82d4f597bce35dd9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
struct Solution;
impl Solution {
pub fn close_strings(word1: String, word2: String) -> bool {
let (mut c1, mut c2) = ([0; 26], [0; 26]);
for &b in word1.as_bytes() {
c1[(b - b'a') as usize] += 1;
}
for &b in word2.as_bytes() {
c2[(b - b'a') as usize] += 1;
}
if (0..26).any(|i| (c1[i] > 0) != (c2[i] > 0)) {
return false;
}
c1.sort_unstable();
c2.sort_unstable();
c1 == c2
}
}
fn main() {
let word1 = String::from("abc");
let word2 = String::from("bca");
print!("{}", Solution::close_strings(word1, word2));
}
|