Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pub fn substr(s: &String, target: &str) -> bool {
- let l1 = s.len(); //length of main string
- let l2 = target.len(); //length of substring
- if target == "" { return true } // base case
- for i in 0..(l1 - l2 + 1) {
- let mut j = 0;
- for k in 0..l2 {
- j = k;
- println!("comparing {} with {}", s.chars().skip(i + j).next().unwrap(), target.chars().skip(j).next().unwrap());
- if s.chars().skip(i + j).next().unwrap() != target.chars().skip(j).next().unwrap() {
- break
- }
- }
- println!("stopping, i = {}, j = {}, l2 = {}", i, j, l2);
- if (j + 1) == l2 { return true }
- }
- false
- }
- fn main() {
- println!("{}", substr(&"rustacean".to_string(), &"acean"));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement