leetcode-solutions 0.1.1

A collection of leetcode solution in rust
Documentation
/*
 * No: 2131
 * Title: Longest Palindrome by Concatenating Two Letter Words
 */

use crate::Solution;

impl Solution {
    pub fn longest_palindrome(words: Vec<String>) -> i32 {
        let mut counter = vec![vec![0; 26]; 26];
        let mut res = 0;

        for word in words.iter() {
            let word: Vec<char> = word.chars().collect();
            let a = word[0] as usize - 'a' as usize;
            let b = word[1] as usize - 'a' as usize;

            if counter[b][a] > 0 {
                counter[b][a] -= 1;
                res += 4;
            } else {
                counter[a][b] += 1;
            }
        }

        for i in 0..26 {
            if counter[i][i] > 0 {
                return res + 2;
            }
        }

        res
    }
}