Постановка задачи:
Джарвис не умеет вычислять палиндромы для буквенно-цифровых символов.
Пока Железный человек сражается с Таносом, ему нужно активировать звуковой удар, но Джарвис застрял в вычислении палиндромов.
Вам дается строка S , содержащий буквенно-цифровые символы. Узнайте, является ли строка палиндромом или нет.
Если вы не сможете разгадать ее, это может привести к смерти Железного человека.
Пример 1:
Input : S = "I am :IronnorI Ma, i" Output : YES Explanation: Ignore all the symbol and whitespaces S = "IamIronnorIMai". Now, Check for pallandrome ignoring uppercase and lowercase english letter.
Пример 2:
Input : S = Ab?/Ba Output : YES
Ожидаемая временная сложность: O (N). где N - длина строки
Ожидаемое вспомогательное пространство: O (1).
Ограничения:
1 ≤ | S | ≤ 100000
Примечание. Для проверки палиндрома учитывайте только алфавиты и числа. Игнорируйте символы и пробелы.
Код и алгоритм:
def saveIronman (s) : #Complete the function #s = input("Enter a string: ") only_alpha= "" for char in s: if char.isalpha() or char.isdigit(): only_alpha += char S=only_alpha.lower() if(S==S[::-1]): # print("YES") return True else: # print("NO") return False #{ # Driver Code Starts #Initial Template for Python 3 for _ in range(0,int(input())): s = input() ans = saveIronman(s) if(ans == True): print("YES") else: print("NO") # } Driver Code Ends
Спасибо.
Инженер-программист