1.Two Sum
class Solution(object):
def twoSum(self, nums, target):
dic = {}
for i, num in enumerate(nums):
if num in dic:
return [dic[num], i]
else:
dic[target - num] = i
2. Reverse Integer
class Solution(object):
def reverse(self, x):
n = x if x > 0 else -x
res = 0
while n:
res = res * 10 + n % 10
n = n // 10
if res > 0x7fffffff:
return 0
return res if x > 0 else -res
3. Palindrome Number
class Solution:
def isPalindrome(selfself, x):
n = x if x > 0 else -x
n_ago = n
res = 0
while n:
res = res*10 + n%10
n = n // 10
if res > 0x7fffffff:
return False
else:
n_now = res if x > 0 else -res
if n_ago == n_now:
return True
else:
return False
4. Longest Common Prefix
import re
class Solution:
def longestCommonPrefix(self, strs):
if not strs:
return ''
prefix = strs[0]
for i in range(1, len(strs)):
match = re.match(prefix, strs[i])
while not match:
prefix = prefix[:-1]
match = re.match(prefix, strs[i])
return prefix