Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,924 questions

51,857 answers

573 users

How to find longest palindrome substring in Rust

1 Answer

0 votes
#![allow(non_snake_case)]

fn longestPalindromeSubstring(str : String) -> usize {        
    let len = str.len();
    let mut longestLength = 1;
    let mut start = 0;
    {
        let mut i = 0;
        while i < len {
            let mut j = i;
            while j < len {
                let mut palindrome = 1;
                {
                    let mut  k = 0;
                    while k < (j - i + 1) / 2 {
                        if str.chars().nth(i + k).unwrap() != str.chars().nth(j - k).unwrap() {
                            palindrome = 0;
                        }
                        k += 1;
                    }
                }
                if palindrome != 0 && (j - i + 1) > longestLength {
                    start = i;
                    longestLength = j - i + 1;
                }
                j += 1;
            }
            i += 1;
        }

        print!("Longest palindrome substring = ");
        {
            let mut  i = start;
            while i <= start + longestLength - 1 {
                print!("{}",str.chars().nth(i).unwrap());
                i += 1;
            }
        }
        print!("{}","\n".to_string());
    }
    
    return longestLength;
}

fn main() {        
    let str : String = "qabcbaproggorpxyyxzv".to_string();
    let result = longestPalindromeSubstring(str);
    
    print!("Length palindrome substring length = {}", result);
}




/*
run:

Longest palindrome substring = proggorp
Length palindrome substring length = 8

*/

 



answered Jun 4, 2023 by avibootz
...