---
###### 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)