回文数:
class Solution:
def isPalindrome(self, x):
"""
:type x: int
:rtype: bool
"""
x = str(x)
return x[::-1] == x
题后感:
这个和反转一样直接想到用字符串反转然后对比
罗马数字转整数:
class Solution:
def romanToInt(self, s):
"""
:type s: str
:rtype: int
"""
d = dict(
I=1,
V=5,
X=10,
L=50,
C=100,
D=500,
M=1000,
XL=40,
XC=90,
CD=400,
CM=900,
IV=4,
IX=9,
)
i = 0
res = 0
while i < len(s):
if s[i:i + 2] in d:
res += d.get(s[i:i + 2])
i += 2
else:
res += d.get(s[i])
i += 1
return res
题后感:
字符串截取的思路,一开始将两位的罗马数字也加入字典中,这样方便判断,给定的罗马数字获取两位从左开始去字典中寻找,如果有就加上对应的数字,如果没有就按一位去字典中寻找,如果有就相加