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 11mod aho_corasick;
2+ mod anagram;
23mod boyer_moore_search;
34mod burrows_wheeler_transform;
45mod hamming_distance;
@@ -14,6 +15,7 @@ mod suffix_tree;
1415mod z_algorithm;
1516
1617pub use self :: aho_corasick:: AhoCorasick ;
18+ pub use self :: anagram:: check_anagram;
1719pub use self :: boyer_moore_search:: boyer_moore_search;
1820pub use self :: burrows_wheeler_transform:: {
1921 burrows_wheeler_transform, inv_burrows_wheeler_transform,
You can’t perform that action at this time.
0 commit comments