# [LeetCode]#1822. Sign of the Product of an Array

Environment: Python 3.8

Key technique: for, if

There is a function `signFunc(x)` that returns:

• `1` if `x` is positive.
• `-1` if `x` is negative.
• `0` if `x` is equal to `0`.

You are given an integer array `nums`. Let `product` be the product of all values in the array `nums`.

Return `signFunc(product)`.

Example 1:

`Input: nums = [-1,-2,-3,-4,3,2,1]Output: 1Explanation: The product of all values in the array is 144, and signFunc(144) = 1`

Analysis:

1. init ans=1
2. ans=ans x nums[i] by using loop
3. if ans >0, return 1
4. if ans <0, return -1
5. if ans==0, return 0

Solution:

`class Solution:    def arraySign(self, nums):        ans=1        for i in range(len(nums)):            ans=ans*nums[i]        if ans >0:            return 1        if ans <0:            return -1        if ans ==0:            return 0`

Submissions:

# [LeetCode]#2124. Check if All A’s Appears Before All B’s

Environment: Python 3.8

Key technique: if

Given a string `s` consisting of only the characters `'a'` and `'b'`, return `true` if every `'a'` appears before every `'b'` in the string. Otherwise, return `false`.

Example 1:

`Input: s = "aaabbb"Output: trueExplanation:The 'a's are at indices 0, 1, and 2, while the 'b's are at indices 3, 4, and 5.Hence, every 'a' appears before every 'b' and we return true.`

Analysis:

1. check pattern “ba” is matched with s.
2. If yes, return False. Else, return True.

Solution:

`class Solution:    def checkString(self, s):        if "ba" in s:            return False        else:            return True`

Submissions:

# [LeetCode]#2119. A Number After a Double Reversal

Environment: Python 3.8

Key technique: str(), int()

Reversing an integer means to reverse all its digits.

• For example, reversing `2021` gives `1202`. Reversing `12300` gives `321` as the leading zeros are not retained.

Given an integer `num`, reverse `num` to get `reversed1`, then reverse `reversed1` to get `reversed2`. Return `true` if `reversed2` equals `num`. Otherwise return `false`.

Example 1:

`Input: num = 526Output: trueExplanation: Reverse num to get 625, then reverse 625 to get 526, which equals num.`

Analysis:

1. Convert input to string format and reverse it
2. Convert it to int format.
3. Convert it to a string format and reverse it.
4. If input equal converted result, return pass.
5. Else, return Fail.

Solution:

`class Solution:    def isSameAfterReversals(self, num):        temp=str(num)        temp=int(temp[::-1])        temp=str(temp)        temp=temp[::-1]        if int(temp) ==num:            return True        else:            return False`

Submissions:

# [LeetCode]#2108. Find First Palindromic String in the Array

Environment: Python 3.8

Key technique: for, [::-1]

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.`

Analysis:

1. Reverse input string
2. If string == reversed string, return it.
3. If no string and reversed string is equal, return ‘’

Solution:

`class Solution:    def firstPalindrome(self, words):        for i in words:            if i==i[::-1]:                return i        return ''`

Submissions:

Reference:

https://leetcode.com/problems/find-first-palindromic-string-in-the-array/discuss/1639462/Python-99-faster-Simple-Solution

## Fatboy Slim

Interesting in any computer science.