每日一问:今天你力扣了吗?
链接: link.
1.整数反转(原7)
python:
class Solution(object):
def reverse(self, x):
if -2**31<=x<=2**31:
y=str(abs(x))
z=y[::-1]
if int(z)<=-2**31-1 or int(z)>=2**31+1:return 0
else:
if x>=0:
return int(z)
else:
p=-1*int(z)
return p
else:
return 0
2.回文数(原9)
Python:
class Solution(object):
def isPalindrome(self, x):
if str(x) == str(x)[::-1]:
return True
else:
return False
结果:
3. 罗马数字转整数(原:13)
Python:
class Solution(object):
def romanToInt(self, s):
valueTable = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000}
Value = 0
for index in range(0, len(s) - 1):
cur_Romen = valueTable[s[index]]#得到当前位置的数值
next_Romen = valueTable[s[index + 1]]#得到下个位置的数值
# 如果当前位置的数值小于下个位置的数值,就减去当前位置的数值,否则就加上当前位置的数值
if next_Romen > cur_Romen:
Value -= cur_Romen
else:
Value += cur_Romen
#加上最后一个位置的值
Value += valueTable[s[-1]]
return Value
结果:
4. 最长公共前缀(原14)
代码:
class Solution(object):
def longestCommonPrefix(self, strs):
prefix=""
if len(strs)==0: return prefix
for i in range(len(min(strs))):
c=strs[0][i]
if all(a[i]==c for a in strs):
prefix+=c
else:
break
return prefix
结果:
5.有效的括号(原 20)
Python:
class Solution(object):
def isValid(self, s):
while '()' in s or '{}' in s or '[]' in s:
s=s.replace('()','').replace('{}','').replace('[]','')
return s==''
结果: