---
# System prepended metadata

title: Leetcode 2108. Find First Palindromic String in the Array
tags: [Leetcode]

---

---
###### tags: `Leetcode`
---
# Leetcode 2108. Find First Palindromic String in the Array


[link](https://leetcode.com/problems/find-first-palindromic-string-in-the-array/)

---

Given an array of strings words, return the first palindromic string in the array. If there is no such string, return an empty string "".

A string is palindromic if it reads the same forward and backward.

#### Example 1:

Input: words = ["abc","car","ada","racecar","cool"]
Output: "ada"
Explanation: The first string that is palindromic is "ada".
Note that "racecar" is also palindromic, but it is not the first.

#### Example 2:

Input: words = ["notapalindrome","racecar"]
Output: "racecar"
Explanation: The first and only string that is palindromic is "racecar".

#### Example 3:

Input: words = ["def","ghi"]
Output: ""
Explanation: There are no palindromic strings, so the empty string is returned.

#### Constraints:

- 1 <= words.length <= 100
- 1 <= words[i].length <= 100
- words[i] consists only of lowercase English letters.

---

Iterating the word in given words then using two pointers to determine whether that word is a palindromic string.

#### Solution 1
```python=
class Solution:
    def firstPalindrome(self, words: List[str]) -> str:
        def helper(element):
            l = 0
            r = len(element) - 1
            while l < r:
                if element[l] == element[r]:
                    l += 1
                    r -= 1
                else:
                    return ""

            return element

        for word in words:
            res = helper(word)
            if res != "": 
                return res 
            else: 
                continue

        return res
```
O(T): O(N^2)
O(S): O(1)

---

Using Slice notation `[a:b:c]` to determine whether the word in words list is a palindromic string.

#### Solution 2
```python=
class Solution:
    def firstPalindrome(self, words: List[str]) -> str:
        for word in words:
                if word == word[::-1]:
                    return word

            return ""
        
```
O(T): O(n)
O(S): O(1)