File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change
1
+ pub fn check_anagram ( s : & str , t : & str ) -> bool {
2
+ let mut s = s. to_ascii_lowercase ( ) . chars ( ) . collect :: < Vec < _ > > ( ) ;
3
+ let mut t = t. to_ascii_lowercase ( ) . chars ( ) . collect :: < Vec < _ > > ( ) ;
4
+ s. sort_unstable ( ) ;
5
+ t. sort_unstable ( ) ;
6
+ s == t
7
+ }
8
+
9
+ #[ cfg( test) ]
10
+ mod tests {
11
+ use super :: * ;
12
+
13
+ #[ test]
14
+ fn test_check_anagram ( ) {
15
+ assert ! ( check_anagram( "anagram" , "nagaram" ) ) ;
16
+ assert ! ( !check_anagram( "rat" , "car" ) ) ;
17
+ assert ! ( check_anagram( "abcde" , "edcba" ) ) ;
18
+ assert ! ( check_anagram( "sIlEnT" , "LiStEn" ) ) ;
19
+ }
20
+ }
Original file line number Diff line number Diff line change 1
1
mod aho_corasick;
2
+ mod anagram;
2
3
mod boyer_moore_search;
3
4
mod burrows_wheeler_transform;
4
5
mod hamming_distance;
@@ -14,6 +15,7 @@ mod suffix_tree;
14
15
mod z_algorithm;
15
16
16
17
pub use self :: aho_corasick:: AhoCorasick ;
18
+ pub use self :: anagram:: check_anagram;
17
19
pub use self :: boyer_moore_search:: boyer_moore_search;
18
20
pub use self :: burrows_wheeler_transform:: {
19
21
burrows_wheeler_transform, inv_burrows_wheeler_transform,
You can’t perform that action at this time.
0 commit comments