Вы должны вызвать обратный метод, используя self.И еще одна ошибка в том, что вы передаете себя также как аргумент, который не требуется.поэтому правильная версия вашего кода выглядит следующим образом:
class Solution:
def reverse(self, x: int) -> int:
if x < 0:
return -1 * self.reverse(x)
if x // 10 == 0:
return x
if x % 10 == 0:
return self.reverse(x // 10)
else:
return (x % 10) * 10 ** (len(str(x//10))) + self.reverse(x // 10)
В качестве альтернативы вы можете решить это без рекурсии также следующим образом. Этот метод очень прост и мал.все, что вам нужно сделать, это преобразовать целое число в строку, перевернуть строку и снова ввести приведение к целому числу.
class Solution:
def reverse(self, x: int) -> int:
x = str(x)
x = x[::-1]
x = int(x)
return x