1.两数之和 3780ms
class Solution(object): def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ for i in range(len(nums)): for m in range(i+1, len(nums)): if nums[i]+nums[m] == target: return [i, m]
7.反转整数 80ms (python的负数取余和C语言 不同)
class Solution: def reverse(self, x): """ :type x: int :rtype: int """ y = 0 while x: if x > 0: y *= 10 y += x % 10 x = x // 10 else: y *= 10 if x % 10: y += x % 10 - 10 x = x // 10 + 1 else: y += x % 10 x = x // 10 if y > -pow(2, 31) and y < pow(2, 31) - 1: return y else: return 0
9.回文数 408ms
class Solution: def isPalindrome(self, x): """ :type x: int :rtype: bool """ x = str(x) for i in range(len(x)): if x[i] != x[-i-1]: return False return True
13.罗马数字转整数 212ms
class Solution: def romanToInt(self, s): """ :type s: str :rtype: int """ rec = 0 num = {'I': 1, 'IV': 4, 'V': 5, 'IX': 9, 'X': 10, 'XL': 40, 'L': 50, 'XC': 90, 'C': 100, 'CD': 400, 'D': 500, 'CM': 900, 'M': 1000} while s: for i in range(2, 0, -1): if s[:i] in num: rec += num[s[:i]] s = s[i:] break return rec
14.最长公共前缀 54ms
class Solution: def longestCommonPrefix(self, strs): """ :type strs: List[str] :rtype: str """ if strs: for i in range(len(strs[0])+1): for s in range(1, len(strs)): if strs[0][:i] != strs[s][:i]: if strs[0][:i - 1]: return strs[0][:i-1] else: return "" return strs[0] else: return ""