6. 字形變換
題解 |
if numRows < 2: return s
res = ["" for _ in range(numRows)] # ['', '', '', '']
i, flag = 0, -1 # i 行索引 flag方向
for c in s:
res[i] += c
if i == 0 or i == numRows - 1: flag = -flag
i += flag
return "".join(res)
面試中該題出現次數:
7. 整數反轉
題解 |
chars = list(str(x)) # 將輸入數字轉換成爲字符串列表
if x < 0:
chars.remove('-') # 去除負號
chars.reverse() # 逆序
r = ''.join(chars) # 合併成字符串
r = - int(r) # 返回結果
else:
chars.reverse() # 逆序
r = ''.join(chars) # 合併成字符串
r = int(r) # 返回結果
if not -pow(2, 31) <= r <= pow(2, 31) - 1:
r = 0
return r
面試中該題出現次數:
8. 字符串轉換整數 (atoi)
題解 |
return max(min(int(*re.findall('^[\+\-]?\d+', str.lstrip())), 2**31 - 1), -2**31)
面試中該題出現次數:
9. 迴文數
題解 |
if str(x)==str(x)[::-1]:
return True
else:
return False
面試中該題出現次數:
10. 正則表達式匹配
題解 |
return re.match(p + '$', s)
上面作弊
下面這位纔是真本事
詳細講解,由淺入深
面試中該題出現次數: